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

有用过HAL库的串口中断接收的朋友吗

[复制链接]
arels 提问时间:2017-1-3 16:59 /
阅读主题, 点击返回1楼
收藏 2 评论28 发布时间:2017-1-3 16:59
28个回答
arels 回答时间:2017-1-4 11:37:30
海迹天涯 发表于 2017-1-4 11:22
你可以追踪下代码看看有没有被执行到

都执行了,可能是回调函数有问题
arels 回答时间:2017-1-4 11:47:21
海迹天涯 发表于 2017-1-4 11:22
你可以追踪下代码看看有没有被执行到

嗯 都执行了 我在想是不是回调函数的问题
any012 回答时间:2017-1-4 12:43:53
也许进入了串口接收错误处理回调函数。
wenyangzeng 回答时间:2017-1-4 13:19:21
本帖最后由 wenyangzeng 于 2017-1-4 13:20 编辑

这个HAL USART 需要在主循环函数中不断调用HAL_UART_Receive_IT(&UartHandle, (uint8_t *)aRxBuffer, RXBUFFERSIZE),才能响应中断。这与查询方式有何区别?
令人费解!!

评分

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

查看全部评分

lili0000 回答时间:2017-1-4 13:37:42
支持一下
arels 回答时间:2017-1-4 16:14:03
wenyangzeng 发表于 2017-1-4 13:19
这个HAL USART 需要在主循环函数中不断调用HAL_UART_Receive_IT(&UartHandle, (uint8_t *)aRxBuffer, RXBUF ...

只要再main中调用一次,然后在回调函数中调用
就好了
zbber 回答时间:2017-1-4 20:23:03
可以设置的,断点设置不了,可能是你配置不对,导致回调函数没有被调用
五哥1 回答时间:2017-1-4 23:51:26
追踪一下
arels 回答时间:2017-1-6 13:54:49
找到问题了 void USART3_IRQHandler(void)
{

  HAL_UART_IRQHandler(&huart3);

}
如果在cube中设置了nvic的话这个函数会在-it.c里面自动写好
如果cube中没有设置nvic的话 这个函数要自己写 才能开启中断

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2 结贴奖励

查看全部评分

斜阳__ 回答时间:2017-1-6 15:14:42
使用CubeMX配置一下调用HAL_UART_Receive_IT(),接收完成之后就会调用回调函数;
如果不定长数据接收建议使用空闲中断或超时中断;

评分

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

查看全部评分

所属标签

相似问题

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