[STM32F1] STM32F103 实现串口透传转发

[复制链接]
1439|17
 楼主| 稳稳の幸福 发表于 2022-7-25 11:22 | 显示全部楼层 |阅读模式
(一)预期准备

      实现机制:空闲中断+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+字节数据转发,基本保持一致。
5709362de0c4f67ed7.png
(三) 代码设计实例

本示例usart.c使用串口2接收设备端发来的指令,串口1作为转发口,串口3作为debug调试口
5255562de0c6539f11.png
其中,数据处理过程清除USART1->SR和USART1->DR 是有必要的,
以及缓存区的大小最好定义为512或者1024。
4645762de0c7524d1f.png
618462de0c810b08e.png


 楼主| 稳稳の幸福 发表于 2022-7-25 11:23 | 显示全部楼层
大家帮我看看这个方法是不是最好的。
麻花油条 发表于 2022-7-25 15:00 来自手机 | 显示全部楼层
方法也是个好方法
天灵灵地灵灵 发表于 2022-7-25 15:59 | 显示全部楼层
的确是好方法
Bblythe 发表于 2022-10-3 09:06 | 显示全部楼层

在孔璧内部作金属处理后,可以让内部的各层线路能够彼此连接。
Uriah 发表于 2022-10-3 19:06 | 显示全部楼层

在开始电镀之前,必须先清掉孔内的杂物。
saservice 发表于 2023-2-2 13:17 | 显示全部楼层
stm32串口通用怎么加功能  
mollylawrence 发表于 2023-2-4 20:44 | 显示全部楼层
stm32如何把串口的数据生成文件
ccook11 发表于 2023-2-4 21:55 | 显示全部楼层
stm32 如何通过串口传送报文
saservice 发表于 2023-2-7 21:35 | 显示全部楼层
STM32 串口怎么传文件到FLASH?
uytyu 发表于 2023-2-8 16:18 | 显示全部楼层
stm32蓝牙配合什么模块简单
jackcat 发表于 2023-2-10 11:15 | 显示全部楼层
stm32怎么通过串口传输文件的
10299823 发表于 2023-2-14 10:40 | 显示全部楼层
stm32怎么用两个串口做透传
wilhelmina2 发表于 2023-2-16 14:34 | 显示全部楼层
串口透传是什么意思呢?              
SantaBunny 发表于 2023-2-19 21:44 | 显示全部楼层
是个好办法欸
您需要登录后才可以回帖 登录 | 注册

本版积分规则

207

主题

3457

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部