- 博客(5)
- 收藏
- 关注
原创 串口DMA发送数据
因为在我使用串口发送数据到Vofa+的时候,发现串口发送一帧的数据实在太影响CPU的主要工作了。使用串口DMA发送数据可以有效的提高发送的一个效率。下面是一个STM32F405串口1DMA发送的一个数据例程:大家在使用修改别的串口之前主要查看别的外设的DMA数据流和通道。//串口初始化部分void uart_init(u32 bound){ //GPIO端口设置 GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_I
2024-08-08 15:37:56
1274
原创 串口空闲中断+DMA接收
串口空闲中断:顾名思义,就是在串口空闲的情况下会产生一个中断。 而怎么判断串口是处于一个空闲的状态呢。在发送数据包的时候,每个数据包之间会存在着一定的时间间隔,并且这个时间间隔的时间是大于一个字符帧所传输的时间。串口在这个时间间隔中所处的状态是高电平(空闲)状态,就会产生空闲标志位(IDLEF)。 例如在9600波特率的时候,一个字符帧传输的时间为1ms,那么空闲状态肯定是大于1ms的。 DMA可以在数据传输过程中不需要CPU的干预,可以有效的减轻CPU传输数据带来的开销
2024-08-08 15:26:24
1846
原创 STM32定时器输出比较中断
输出比较中断通常使用在控制系统中,以便在比较值匹配时进行相应操作,例如改变PWM输出的占空比。如果使用预装载模式,则当比较值发生更改时,需等待计数器计数到载入下一个比较值的时间点才会生效,这个时间点是在下一个定时器的溢出事件中。预装载模式是指在定时器计数器计数到比较寄存器中的值时,会将下一个要比较的值预先装入到计数器中,而非立即加载。因此,在输出比较中断场景下,建议关闭预装载模式。在使用定时器输出比较中断来输出PWM信号时,需要将定时器的输出比较匹配模式设置为“非预装载模式”或“预装载模式”。
2023-05-12 17:19:33
1921
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人