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

STM32F405串口偶发不进发送完成中断

[复制链接]
jeremy0077 提问时间:2016-8-6 12:27 /
使能最新的HALl库,测试串口发现偶发出现发送完成中断没有进去,有没有人遇到过???
收藏 1 评论12 发布时间:2016-8-6 12:27

举报

12个回答
wenyangzeng 回答时间:2016-8-8 07:30:16
应该是你的发送中断被其它更高级别中断所打断,使发送计数器失步所致。
乞丐工程师 回答时间:2016-8-8 08:54:57
Dylan疾风闪电 回答时间:2016-8-8 13:33:35
检查一下代码,配置是否有问题。
johnson_gong 回答时间:2016-8-8 14:08:28
可以把其他中断都关掉先,再来找原因,会简单很多
废鱼 回答时间:2016-8-8 14:44:19
楼主,当产生这种情况时,仿真一下看看串口标志位的指示。还有中断使能、发送寄存器空标志位。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2 赞一个!

查看全部评分

jeremy0077 回答时间:2016-8-8 15:11:57
wenyangzeng 发表于 2016-8-8 07:30
应该是你的发送中断被其它更高级别中断所打断,使发送计数器失步所致。

已经是最高优级了,HAL_UART_TxCpltCallback这个函数没进去
jeremy0077 回答时间:2016-8-8 15:15:03
安 发表于 2016-8-8 14:44
楼主,当产生这种情况时,仿真一下看看串口标志位的指示。还有中断使能、发送寄存器空标志位。 ...

每次串口发送完成后,会禁止发送中断,使能发送完成中断(这是库里完成的),用户只是实现HAL_UART_TxCpltCallback这个函数;问题出现的时候发送,发送完成中断没使能,发送寄存器空标志位是;
254587896 回答时间:2016-8-8 17:05:43
支持一下。。。。。。
废鱼 回答时间:2016-8-9 09:51:55
在未发送完成前,是否进行了数据发送?
jeremy0077 回答时间:2016-8-10 10:46:04
安 发表于 2016-8-9 09:51
在未发送完成前,是否进行了数据发送?

没有,有做忙和闲的状态保护
reallyc 回答时间:2016-8-10 11:02:33
正在测试中……
zero99 回答时间:2016-9-1 09:33:59
解决了么
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版