STM32UART中断收发异常

2019-07-14 14:46发布

在使用CUBE上搭了个STM32L151 UART的程序,但是串口在中断发数据时,发出去的全是乱码,不使用中断就是好的,有没有大神知道这是个什么情况?中断没配置好?可是就一句话开中断呀
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
lizhongrui
1楼-- · 2019-07-14 23:26
 精彩回答 2  元偷偷看……
ctwewer
2楼-- · 2019-07-15 03:46
是否设定的中断发送数据长度与实际数据长度不相同所致?
Wu雨雨雨
3楼-- · 2019-07-15 05:48
本帖最后由 zhdzhd-174422 于 2018-6-22 12:45 编辑

1:如果使用UART_Receive_IT来接收数据,可以把接收长度设置为1,然后在HAL_UART_RxCpltCallback里实现接收处理即可;
2:使用HAL_UART_Receive来接收,把size设置大一点,超时时间设置合适,即可;


首先用一个正确的程序试一下确保软件本身没有什么问题,
然后再依次检查波特率和VPB时钟频率是否匹配,因为它们不匹配的时候同样会出现乱码。
如果最后还是乱码的话,可能就是程序的问题了,需要检查程序是否有语法以外的错误。
pipompipom
4楼-- · 2019-07-15 08:27
TOPCB 发表于 2019-1-7 16:49
楼主用的是用HAL_USART_Transmit_IT发的?

是的
pipompipom
5楼-- · 2019-07-15 09:12
Wu雨雨雨 发表于 2019-1-7 17:46
本帖最后由 zhdzhd-174422 于 2018-6-22 12:45 编辑

1:如果使用UART_Receive_IT来接收数据,可以把接收长度设置为1,然后在HAL_UART_RxCpltCallback里实现接收处理即可;

主要是中断发送异常,发出去的通过串口助手显示都是乱码
pipompipom
6楼-- · 2019-07-15 11:45
 精彩回答 2  元偷偷看……

一周热门 更多>