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

有用过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扩展软件包
关注我们
st-img 微信公众号
st-img 手机版