请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32l053串口通讯问题

[复制链接]
zyqwxw 提问时间:2022-9-4 08:52 / 未解决
请问用L0系列mcu进行串口通讯,接收数据不定长,只能一个一个字节接收,再判断是否停止接收,这样通讯方式,需要mcu程序如何编写,以L073为例。
收藏 评论8 发布时间:2022-9-4 08:52

举报

8个回答
yklstudent 回答时间:2022-9-4 09:27:59
一个一个字节接收,那就别用DMA了,直接串口中断接收,然后判断是否停止接收,从而决定是否解析帧
xmshao 回答时间:2022-9-4 17:17:11
两种种方法可以考虑。第一种,每收到1个数据,启动超时,超时用定时器实现,超时到了视为本次接收完成。


第二种,使用UART的idle中断,出现idle中断视为本次接收完成。
xmshao 回答时间:2022-9-4 17:17:11
两种种方法可以考虑。第一种,每收到1个数据,启动超时,超时用定时器实现,超时到了视为本次接收完成。


第二种,使用UART的idle中断,出现idle中断视为本次接收完成。
zyqwxw 回答时间:2022-9-4 18:10:53
yklstudent 发表于 2022-9-4 09:27
一个一个字节接收,那就别用DMA了,直接串口中断接收,然后判断是否停止接收,从而决定是否解析帧
...

一个字节一个字节的收,程序每次都启动接收一个字节的接收程序,是不是我理解的?
zyqwxw 回答时间:2022-9-4 18:14:09
xmshao 发表于 2022-9-4 17:17
两种种方法可以考虑。第一种,每收到1个数据,启动超时,超时用定时器实现,超时到了视为本次接收完成。

一个字节一中断,收到特定字节判断结束。用超时好像意义不大吧。
另外IDLE使用有什么好处?
废鱼 回答时间:2022-9-4 19:33:02
看选择的库文件了。HAL接收一字节中断,接收完毕后掉回调函数,再开启接收一字节。LL库可以自己编写处理过程。
hufur 回答时间:2022-9-4 23:59:01
在中断里用超时中断和触发点中断实现
七七baba 回答时间:2022-9-6 08:29:00
空闲中断或者用定时器去判断
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版