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

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之前都是学的标准库
any012 回答时间:2017-8-19 14:52:44
胡图图啊 发表于 2017-8-19 14:05
大神啊,求帮助啊
HAL库,如何写个串口接收或发送后的超时判断?
   有源码吗,我第一次接触HAL之前都是学 ...

硬石有HAL库版本的freemodbus的例程,可供参考。
胡图图啊 回答时间:2017-8-19 15:23:31
谢谢楼主,谢谢
xiaoouyang 回答时间:2018-7-19 17:29:45
谢谢楼主 很感谢

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版