STM32F103 实例应用——实现透传转发串口

(一)预期准备

      实现机制:空闲中断+DMA中断接收不定长串口数据

      开发工具:STM32F103芯片,keil5,usb转ttl工具

      预计实现效果:串口1接收数据然后透传给串口2发出去,保证转发的完整性和稳定性。

(二)实现流程

      实际测试过程

      1.程序里面的DMA初始化,引脚配置,以及逻辑部分可以按需来修改;

      2.将芯片串口1和2的接收和发送分别引出来使用ttl转usb接到电脑;

      3.设备向转发板发数据包,串口1并联然后记录原始数据到pc端COM13,
         数据包被透传转发到串口2然后转到PC端COM14进行查看;
      (如果没实际设备可用,可以使用PC端模拟发送数据到串口1,效果类似)

      4.pc端对比com13/14的数据,经过打印两串口的数据字节大小,
        如下图,发送1w+字节数据转发,基本保持一致。

扫描二维码关注公众号,回复: 13588367 查看本文章

(三) 代码设计实例

本示例usart.c使用串口2接收设备端发来的指令,串口1作为转发口,串口3作为debug调试口

其中,数据处理过程清除USART1->SR和USART1->DR 是有必要的,
以及缓存区的大小最好定义为512或者1024。

 

上述透传转发的完整工程下载:https://download.csdn.net/download/zhangb98/21324427

猜你喜欢

转载自blog.csdn.net/zhangb98/article/details/119800644