最新内容

科普:SerDes知识详解(serdd)

来源:内容来自「摩尔学堂」,谢谢。SERDES是英文SERializer(串行器)DESerializer(解串器)的简称。它是一种主流的时分多路复用(TDM)、点对点(P2P)的串行通信技术。即在发送端多路低速并行信号被转换成高速串行信号,经过传输媒体(光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。这种点对点的串行通信技术充分利用传输媒体的 …

LiteOS内核源码分析系列四——时间管理(1)

Huawei LiteOS的时间管理模块以系统时钟为基础,可以分为2部分,一部分是SysTick中断,为任务调度提供必要的时钟节拍;另外一部分是,给应用程序提供所有和时间有关的服务,如时间转换、统计、延迟功能。系统时钟是由定时器计数器产生的输出脉冲触发中断产生的,一般定义为整数或长整数。输出脉冲的周期叫做一个“时钟滴答”,也称为时标或者Tick。Tick是操 …

一次系统调用开销到底有多大?(为什么系统调用开销大)

首先说说系统调用是什么,当你的代码需要做IO操作(open、read、write)、或者是进行内存操作(mmpa、sbrk)、甚至是说要获取一个系统时间(gettimeofday),就需要通过系统调用来和内核进行交互。无论你的用户程序是用什么语言实现的,是php、c、java还是go,只要你是建立在Linux内核之上的,你就绕不开系统调用。图1 系统调用在计 …

音视频开发:FFmpeg音视频同步(ffmpeg视频音频合成命令)

PTS 和 DTS好在音频和视频都有信息来控制播放时的速度和时机。音频流有一个采样率(sample rate),视频流有一个帧率(frame per second)。但是,如果我们只是简单地通过数帧和乘上帧率来同步视频,那么它可能会和音频不同步。实际上我们将使用 PTS 和 DTS 信息来做音视频同步相关的事情。在介绍 PTS 和 DTS 的概念前,先来了解 …

「嵌入式秘术」相约榨干SysTick的每一滴汁水

【说在前面的话】相信很多人都遇到过这样的情况:在一个Cortex-M嵌入式应用中要实现一个精确的毫秒级延时并不困难——如果你有RTOS,在任务中使用诸如 os_sleep(<休眠时间>) 之类的函数就可以轻松实现;如果你是裸机,也可以使用每个Cortex-M芯片都默认携带的SysTick来实现一个,甚至Arm官方的CMSIS都提供了现成的API, …

STM32F4芯片嵌入式学习7(stm32f4系列芯片)

文档是本人学习总结的文档,有些乱,勿怪。1、STM32F407时钟系统在 STM32F4 中,有 5 个最重要的时钟源,为 HSI、HSE、LSI、LSE、PLL。其中 PLL 实际是分为两个时钟源,分别为主 PLL 和专用 PLL。从时钟频率来分可以分为高速时钟源和低速时钟源,在这 5 个中 HSI,HSE 以及 PLL 是高速时钟,LSI 和 LSE 是 …

STM32三种延时函数实现方法(stm32延迟函数)

想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。在51入门的时候我们第一个实验就是点亮LED灯,如果没有延时,我们就很难看到亮灭效果。1. STM32延时函数概述在产品开发的过程中我们会经常要用到延时函数,比如控制LED灯的闪烁、LCD屏的刷新、控制电机、一些接口驱动如I2C、SPI总线驱动等都要用到延时函数。不同的场合对于延时函数的精确度要求也 …

我如何将Unix时间转换为可读的值?

高频处理时间问题在处理时间值时,程序中的一种常见方法是将其转换为线性刻度表示。无法将"2005年1月17日下午5:37"这样的日期存储为变量,并期望能够进行任何操作。因此,在合格的程序中,时间值通常以时间戳的形式表示,即与特定时点之间的秒数。这被称为时代时间戳,如果以1970年1月1日的UTC午夜为起始点,则被称为Unix时间戳,因为这是Un …