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),才能响应中断。这与查询方式有何区别?
令人费解!!

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的话 这个函数要自己写 才能开启中断

斜阳__ 发表于 2017-1-6 15:14:42

使用CubeMX配置一下调用HAL_UART_Receive_IT(),接收完成之后就会调用回调函数;
如果不定长数据接收建议使用空闲中断或超时中断;
页: 1 [2] 3
查看完整版本: 有用过HAL库的串口中断接收的朋友吗