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

hal库的串口接收完成回调函数中如何区分是不是DMA接收完成?

[复制链接]
铁驴不倒 提问时间:2017-3-29 08:59 /
HAL_UART_RxCpltCallback
这个回调函数在串口中断接收完成后会被调用,在DMA接收完成后也会被调用

那么能否在这个回调函数中直接以参数huart中的信息来区分上述两种情况呢?(不考虑其他外部附加处理方式)

(实际使用情况是在rtthread中改用hal库适配原来的serial处理)
收藏 1 评论4 发布时间:2017-3-29 08:59

举报

4个回答
moyanming2013 回答时间:2017-3-29 10:07:52
不太可能针对同一个串口即开中断收发又开DMA收发吧?
铁驴不倒 回答时间:2017-3-29 11:03:33
moyanming2013 发表于 2017-3-29 10:07
不太可能针对同一个串口即开中断收发又开DMA收发吧?

使用和处理回调是分离的 处理的地方要能适配所有使用方式
为什么hal里要把DMA和IT接收完成用同一个函数呢。。。
moyanming2013 回答时间:2017-3-29 11:12:02
铁驴不倒 发表于 2017-3-29 11:03
使用和处理回调是分离的 处理的地方要能适配所有使用方式
为什么hal里要把DMA和IT接收完成用同一个函数 ...

1.同一个串口使用中断和DMA互斥。
2.中断回调函数用同一个不会有问题。
3.如果你想改,那么在中断(和DMA中断)处理函数中修改成自己的一个回调函数即可,这是灵活的。
铁驴不倒 回答时间:2017-3-30 18:17:00
moyanming2013 发表于 2017-3-29 11:12
1.同一个串口使用中断和DMA互斥。
2.中断回调函数用同一个不会有问题。
3.如果你想改,那么在中断(和DMA ...

嗯 看来要增加一个回调函数才行

所属标签

相似问题

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