![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
USART
乔慕宾
这个作者很懒,什么都没留下…
展开
-
STM32通过串口与上位机通信调试
程序如下,采用串口DMA中断方式接收上位机发送的数据,接受区长度为4个字节,上位机也发送4个字节,按理说应该发送一次进入一次中断,但是我的会进入两次中断,且第一次中断的数据是上次发送的数据。上位机发送的8687是ascii码,一个码是8位(一个字节),8对应的16进制是0x38,6对应0x36,7对应0x37。同样发送4个字节的数据,DMA进入两次中断。第一次中断第二个数据是上次接收到的,第二...原创 2018-11-13 22:30:43 · 7243 阅读 · 1 评论 -
STM32串口调试
上一篇博客发现串口DMA中断在接受一次数据时,会进入两次中断,经过一天的调试还是没有找到原因,后来又发现一个问题:当使用ADC1DMA时,串口DMA只能进入两次中断,之后上位机再发送数据,也不会进入串口DMA接收中断;而ADC1DMA和串口1DMA分别使用都是可以的。百度后发现有人遇到过同样的问题,解决方法就是在DMA接收中断函数内,再次开启DMA接收中断,这样每次收到数据就会进入DM...原创 2018-11-14 17:22:44 · 2002 阅读 · 0 评论 -
在HAL库的基础上修改串口中断函数,使串口中断接收不定长数据,且不发生丢失现象。
之前一直用STM32CUBE配置工程,但是一用到USART1的DMA接收中断,或者USART1的接收中断,就会出现问题,在之前的调试中发现USART1的DMA与ADC1的DMA有冲突(原因我也不造啊),后来将USART1的DMA接收中断改成USART1的接收中断,在一个工程里可以使用,另一个工程出现了数据不更新的情况(明明已经将缓冲区的数据全部读取了),感觉HAL库的串口中断很坑(...原创 2018-11-16 13:58:21 · 2332 阅读 · 2 评论