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

HAL库,如何写个串口接收或发送后的超时判断?modbus相关。

[复制链接]
any012 提问时间:2016-12-1 17:19 /
悬赏10ST金币已解决
之前在网上找了个stm32的modbus文件,和标准库匹配的,挺方便的。
现在做新工程都想该用HAL了,可原来的文件就不合适了。

原来是,串口每接收或发送一个数据后,就开启定时器,大概3毫秒,就是9600波特率对应的3.5个数据的时间。如果在定时器未触发前,又接收到数据后,就重置这个定时器。如果时间到了,则认为一帧结束,转到数据处理。

现在串口发送和接收都不知道该用哪个函数合适了...
感觉HAL库太不灵活了。

最佳答案

查看完整内容

可以考虑空闲中断,但是空闲中断是间隔是1个字符; 或者楼主重构HAL库的串口中断
<
收藏 1 评论12 发布时间:2016-12-1 17:19

举报

12个回答
斜阳__ 回答时间:2016-12-1 17:19:20
可以考虑空闲中断,但是空闲中断是间隔是1个字符;
或者楼主重构HAL库的串口中断
cuyebiren 回答时间:2016-12-1 19:15:03
建议楼主 大致 看看 HAL 库的 操作串口 的几个函数 的定义过程,看看 串口中断 的 处理过程。。。这样你就明白 该怎么 使用 操作了。。。这样你就可以 把 以前 标准库 的 文件 和 方法 移植过来了。。。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

请叫我小张张 回答时间:2017-1-10 20:37:40
我也最近在搞这个
Dylan疾风闪电 回答时间:2017-1-11 17:14:43
慢慢用习惯,我也在适应HAL
海迹天涯 回答时间:2017-1-12 08:49:43
Dylan疾风闪电 发表于 2017-1-11 17:14
慢慢用习惯,我也在适应HAL

听说HAL LL又出来了
any012 回答时间:2017-1-12 11:45:12
斜阳__ 发表于 2017-1-12 09:43
可以考虑空闲中断,但是空闲中断是间隔是1个字符;
或者楼主重构HAL库的串口中断 ...

后来就是用空闲中断解决的,参考论坛和群里朋友提供的方法。
后来又看了硬石的freemodbus的HAL库版本,发现串口中断这里最后也是用类似标准库那样重写的。
Dylan疾风闪电 回答时间:2017-1-12 14:49:20

what???
太考验人了,老了、学不动了
胡图图啊 回答时间:2017-8-19 11:07:18
大神啊,求救啊 。。求一份HAL库的超时代码
   小弟万分感谢啊啊啊啊
胡图图啊 回答时间:2017-8-19 14:05:38
大神啊,求帮助啊
HAL库,如何写个串口接收或发送后的超时判断?
   有源码吗,我第一次接触HAL之前都是学的标准库
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版