[其他ST产品] stm32l053串口通讯问题

[复制链接]
 楼主| 两只袜子 发表于 2022-9-5 09:52 | 显示全部楼层 |阅读模式
请问用L0系列mcu进行串口通讯,接收数据不定长,只能一个一个字节接收,再判断是否停止接收,这样通讯方式,需要mcu程序如何编写,以L073为例。
七毛钱 发表于 2022-9-6 09:00 | 显示全部楼层
在中断里用超时中断和触发点中断实现




[color=var(--default-a-next-color)]

laocuo1142 发表于 2022-9-9 09:28 | 显示全部楼层

空闲中断或者用定时器去判断
flycamelaaa 发表于 2022-9-9 09:29 | 显示全部楼层
看选择的库文件了。HAL接收一字节中断,接收完毕后掉回调函数,再开启接收一字节。LL库可以自己编写处理过程。
powerantone 发表于 2022-9-9 09:29 | 显示全部楼层
一个一个字节接收,那就别用DMA了,直接串口中断接收,然后判断是否停止接收,从而决定是否解析帧
stormwind123 发表于 2022-9-9 09:30 | 显示全部楼层
两种种方法可以考虑。第一种,每收到1个数据,启动超时,超时用定时器实现,超时到了视为本次接收完成。


第二种,使用UART的idle中断,出现idle中断视为本次接收完成。
Henryko 发表于 2022-9-11 21:39 | 显示全部楼层
用定时器进行判断
Stahan 发表于 2022-9-13 21:21 | 显示全部楼层
一个一个就直接用串口接收吧
极客晨星 发表于 2022-9-21 14:21 | 显示全部楼层
. 定个协议呗,比如发数据有开头,有字长

銀河 发表于 2022-9-21 14:43 | 显示全部楼层
就到了结尾就确认收到了就行了呗

偷吻月亮 发表于 2022-9-21 15:06 | 显示全部楼层
这个不定长接收网上很多demo的,你可以试试的

岁月反驳 发表于 2022-9-21 15:28 | 显示全部楼层
定时器判断就行了

漫过岁月 发表于 2022-9-21 15:41 | 显示全部楼层
. cubemx是不是能自动生成啊

可爱的白兔先生 发表于 2022-9-21 16:03 | 显示全部楼层
一般都是用定时器判断,如果用操作系统,可以用空闲中断

情和欲 发表于 2022-9-21 16:25 | 显示全部楼层
是只能一个字节一个字节接收的,但是你要有协议就好了

地下縱情搖擺 发表于 2022-9-21 16:47 | 显示全部楼层
定个协议,然后包含数据长度呗,按这个数据长度收数据呗

热爱童话世界 发表于 2022-9-21 17:09 | 显示全部楼层
一个一个接收没问题的啊,判断关键字呗

占得人间第一春 发表于 2022-9-21 17:31 | 显示全部楼层
我之前是用过定时器实现,就很好解决

您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8118

帖子

11

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