首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >STM32 HAL中断不能正确获取字节

STM32 HAL中断不能正确获取字节
EN

Stack Overflow用户
提问于 2016-06-15 07:59:55
回答 1查看 1.1K关注 0票数 1

嗨,伙计们,我试图用stm32 HAL库来进行连续的rx中断,我得到了一些我不知道的错误。

这是一个非常简单的程序。PC将字节分配给stm32板,stm32将使用rx中断例程接收这些字节。

问题是当我发送超过4个字节时,比如"12345",stm32板只有4个字节,而最后一个字节(5)已经消失了。这是为了更好地理解而绘制的图片。

下面是我在HAL_UART_RxCpltCallback例程中的代码:

代码语言:javascript
复制
HAL_UART_Transmit(&huart4, &receive1, 1, 1000);
HAL_UART_Receive_IT(&huart4, &receive1, 1);

如果你有任何想法,请评论:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-16 13:04:31

检查功能:HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)

  1. 例如,使一个大小足够长,比如16字节;
  2. HAL_UART_RxCpltCallback例程调用到函数HAL_UART_Receive_IT(...)中。我建议您添加这样的结束字符(\n)检测: if (*huart->pRxBuffPtr) == '\n') { HAL_UART_RxCpltCallback(huart);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37829430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档