STM32
文章平均质量分 63
披着假发的程序唐
嵌入式软件工程师,擅长linux开发、单片机开发、OTN光通信协议解析、卫星导航相关
展开
-
STM32/GD32学习指南-踩坑之(五)串口收发数据的三种方式:UART接收中断、UART+DMA空闲中断、UART+DMA超时中断,接收不定长数据,纯干货,有史以来最详细的讲解,附源码
串口收发数据的三种方式:UART接收中断、UART+DMA空闲中断接收不定长数据、UART+DMA超时中断接收不定长数据;该种方式使用DMA(直接内存存取器)接收串口数据,中断标志为:USART_INT_IDLE;该种方式在串口RX处于空闲状态时,会触发中断,也就是一帧数据接收完成后,串口RX不再收到数据,即可触发空闲中断,此时可以将接收到的数据提取出来,由于使用DMA接收,所以可以接收不定长数据,并且数据接收过程中不需要CPU的参与,只是在数据接收完的时候,会触发一次空闲中断才涉及到CPU参与原创 2024-02-29 16:22:11 · 5632 阅读 · 5 评论 -
STM32/GD32学习指南-踩坑之(四)GPIO作为简单IO,配置为输出模式时初始状态的注意事项
无论是GD32还是STM32,当GPIO配置为输出模式时,初始化完成后,都有一个初始的输出状态,有的可能时高电平,有的可能是低电平,不配置的话,可能初始化后一瞬间的上升或下降沿信号的输出,会对一些外围器件产生期望之外的操作等。在初始化代码前,先将GPIO的输出寄存器置高,再对GPIO初始化,用示波器测量,低电平的时间从2ms变成了1ms,时间缩短了,对应控制的外设确实没有被复位,但是还是有风险。所有GPIO配置为输出模式时,初始化后需要给一个确定的输出状态,GPIO_BOP为置高,GPIO_BC为置低。原创 2023-08-29 11:29:32 · 2533 阅读 · 0 评论