[技术文档] 串口的配置一般有几种形式

[复制链接]
5507|19
 楼主| tail066 发表于 2021-9-26 19:59 | 显示全部楼层 |阅读模式
发送:
我一般是需要发送数据的时候,一般是按照协议,直接就发出去了,这个简单
接收:
一般是开接收中断,有数据进来就存到数组,然后看是否满足通信协议。

是不是我这样用,太低级了?有没有更便捷的方式?
logan0279 发表于 2021-9-27 08:47 | 显示全部楼层
我目前最喜欢的方案是接收中断、接收超时中断、发送中断都开起来。
接收中断负责把接收到的数据存到缓存数组
接收超时中断负责判断是否接收完成,接收完成了给接收完成标记
在另外的定时循环函数里面检查接收完成标记,然后解析协议
协议解析完以后按协议发送数据,开发送中断,每进一次中断发送一个字节数据,直到发完。
SDLin 发表于 2021-9-29 11:43 | 显示全部楼层
你这边是用哪颗芯片?具体可以参靠用户手册的串口章节。一般为提高效率,可以结合DMA使用。
uiint 发表于 2021-10-3 20:37 | 显示全部楼层
没有看懂楼主是什么意思   
hellosdc 发表于 2021-10-3 20:37 | 显示全部楼层
保存到数组不行吗  
mituzu 发表于 2021-10-3 20:37 | 显示全部楼层
使用dma啊            
suzhanhua 发表于 2021-10-3 20:37 | 显示全部楼层
你使用的是哪款芯片呢   
xietingfeng 发表于 2021-10-3 20:37 | 显示全部楼层
串口配置中断         
isseed 发表于 2021-10-3 20:38 | 显示全部楼层
可以使用DMA传输数据  
wangdezhi 发表于 2021-10-3 20:38 | 显示全部楼层
参考一下ringbuff   
biechedan 发表于 2021-10-3 20:38 | 显示全部楼层
没有了,基本都是中断代码   
chenci2013 发表于 2021-10-3 20:38 | 显示全部楼层
开接收中断就可以满足要求。   
gygp 发表于 2021-10-3 20:38 | 显示全部楼层
更便捷的方式?这个是什么意思  
 楼主| tail066 发表于 2021-10-13 14:20 | 显示全部楼层
SDLin 发表于 2021-9-29 11:43
你这边是用哪颗芯片?具体可以参靠用户手册的串口章节。一般为提高效率,可以结合DMA使用。 ...

dma没用过,最近确实想做DMA的尝试~~
产品用的串口比较多,收发想弄成统一的形式~
SDLin 发表于 2021-10-13 15:55 | 显示全部楼层
tail066 发表于 2021-10-13 14:20
dma没用过,最近确实想做DMA的尝试~~
产品用的串口比较多,收发想弄成统一的形式~ ...

https://bbs.21ic.com/forum.php?m ... zZ8MzE2MzA0OA%3D%3D  这是HK32F103的UART+DMA例程,供参考。
cen9ce 发表于 2021-11-12 16:33 | 显示全部楼层
通信方式一共就这么几种,全双工,半双工,单工
zhizia4f 发表于 2021-11-12 16:36 | 显示全部楼层
满足通信协议?
q1ngt12 发表于 2021-11-12 16:37 | 显示全部楼层
好用就行了
littlelida 发表于 2021-12-6 16:00 | 显示全部楼层
满足应用就好,提高效率的话,可以考虑dma
gouguoccc 发表于 2021-12-7 08:55 来自手机 | 显示全部楼层
把DMA用起来效率更高
您需要登录后才可以回帖 登录 | 注册

本版积分规则

128

主题

582

帖子

0

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