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

[已更新]一个标准的串口中断接收,为何进不了中断?

[复制链接]
ataudio 提问时间:2017-8-21 22:26 /
阅读主题, 点击返回1楼
1 收藏 1 评论15 发布时间:2017-8-21 22:26
15个回答
无薪税绵 回答时间:2017-8-23 11:43:12
没有发现开启全局中断的指令。
power568 回答时间:2017-8-23 13:16:58
1. 首先确保硬件是好的;
2. 你可以使用STM32CubeMx直接生成一个工程看看,生成的工程时可以直接使用的。
3. 验证功能好了以后,在更改代码。

评分

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

查看全部评分

ataudio 回答时间:2017-8-23 13:24:46
无薪税绵 发表于 2017-8-23 11:43
没有发现开启全局中断的指令。

HAL_Init();应该有你说的。
回答时间:2017-8-23 14:06:04
如果可以进去中断说明有数据接收,产生的原因可能是外部干扰,楼主可以用示波器看一下接收引脚的状态。

评分

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

查看全部评分

张亚飞 回答时间:2017-8-24 17:51:37
不知道是是否还在关注这个帖子,下边截图是我的管脚配置。
你的管脚配置把输入输出都配置成复用推挽输出有问题吗?
微信截图_20170824175012.png
ataudio 回答时间:2017-8-25 14:30:44
本帖最后由 ataudio 于 2017-8-27 11:48 编辑
张亚飞 发表于 2017-8-24 17:51
不知道是是否还在关注这个帖子,下边截图是我的管脚配置。
你的管脚配置把输入输出都配置成复用推挽输出有 ...

谢谢这位兄弟保持关注。。按照原理来说,输入输出配成对应的方式,肯定是没有问题的。。

但是,对你的回复,今天我特意测试了几遍。
当我把GPIO都按照AF_PP配置时,程序跑起来,UART4收发是正常的。调试信息能清楚看到远端串口返回的数据。

当我TX与RX分别配置成AF_PP、INPUT时,调试信息不见任何返回。等有时间我再分析是不是卡在中断里了。

我的板子没再出现上电就进串口中断或者其他错误的原因,可能重要的一点在电源。。之前我一直电池供电,可能电压不稳,现在换成稳压电源。。

除了上面的模式配置,我把使能uart中断,写进了uart的init中和RX的callback中。

最后,我把库函数UART_Receive_IT()替换成自己的处理函数了。
12

所属标签

相似问题

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