你的程序逻辑有严重的潜在问题!
HAL_UART_RxCpltCallback()函数是在中断里被调用的,而你又在该函数里面 ...
HAL_UART_RxCpltCallback里面也不能用HAL_UART_Receive_IT, 会把ErrorCode覆盖掉, HAL_UART_Receive_IT只是开启中断函数, 可以在对应的IRQHandler最后执行. 本帖最后由 wuxiaoluo 于 2019-5-3 10:03 编辑
遇到问题一摸一样,只是用了CUBEMX简单生成代码,中断接收,什么也没做,然后主循环发送固定字符,pc发送数据一百几十个就无法接收了。不会再中断接收了。如果循环判断再次中断接收是否成功,那么会导致发送也锁死了。 使用HAL库来开发UART全双工通信的方案,这是在给自己挖墓呀.....两个方案死在串口上面了,不知查过多少网页,给ST的技术人员写过多少邮件打过多少电话了.....
页:
1
[2]