![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
串口通讯
文章平均质量分 71
大文梅
我很懒,还没有添加简介
展开
-
stm32f103串口接收队列,DMA循环模式+空闲中断(3)
stm32f103串口接收队列,DMA循环没事+空闲中断,5串口全支持原创 2022-03-22 17:02:37 · 2129 阅读 · 0 评论 -
stm32f103串口接收队列,DMA循环模式+空闲中断(2)
之前有过一篇文章,不过那个只支持1个串口,而stm32f103大容量有5个串口,写这一篇的目的正是为了支持所有串口,可通过宏定义USE_USARTx进行设置使用串口的情况。关于基础部分,主要是原理的讲解可参考:https://blog.csdn.net/qq_40831436/article/details/115071656?spm=1001.2014.3001.5501串口初始化讲解初始化说明:5个串口并非所有串口都支持DMA传输,由下表所知,只有串口1-4具备DMA,而串口5无,所以,本程序中,串原创 2021-08-10 15:38:00 · 2068 阅读 · 0 评论 -
stm32f103串口接收队列,DMA循环模式+空闲中断
串口通讯最主要的就是要不丢数据,不丢帧,基本设想就是建立一个大的串口缓冲区,串口接收到的数据使用循环队列的方式全部往这个缓冲区放,不过这种方式需要把串口缓冲区弄大一点,防止数据覆盖。在stm32中,利用DMA+空闲中断很容易做到这一点。只需要将DMA设置为循环模式,如下图:也就是说,在循环模式下,当DMA传输了一个数据,DMA_CNDTRx传输数量寄存器相应减一,当DMA_CNDTRx传输数量寄存器减为0时,DMA_CNDTRx寄存器将恢复为相应的初始值,不用软件干预,那么,这不就是循环队列的方式吗?原创 2021-03-22 16:07:13 · 10046 阅读 · 18 评论 -
Modbus-RTU详解
第一章 Modbus协议简介 Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设...转载 2020-04-11 08:50:01 · 11040 阅读 · 0 评论 -
MODBUS
Modbus 史上最全实例资料汇总 原创 ...转载 2020-03-21 16:48:09 · 248 阅读 · 0 评论 -
stm32f103串口通讯
写串口通讯的时候,刚开始没注意,写成了void Send_OneByte(char Data){ USART_SendData(USART1, Data); while(USART_GetFlagStatus(USART1, USART_FLAG_TXE)==RESET ); //TXE空了就为1,非空为0}void Send_String(char *str){ int8_t ...原创 2019-08-08 18:16:37 · 647 阅读 · 0 评论