[技术问答] HC32L130的LPUART1中断接收异常

[复制链接]
 楼主| dqqqqqq 发表于 2020-6-8 17:07 | 显示全部楼层 |阅读模式
官方库:HC32L130_SDK\驱动库及样例\hc32l13x_ddl_Rev1.8.0 Lite\hc32l13x_ddl\example\lpuart\lpuart_int

///<LPUART1 中断服务函数
void LpUart1_IRQHandler(void)
{
    if(LPUart_GetStatus(M0P_LPUART1, LPUartTC))
    {
        LPUart_ClrStatus(M0P_LPUART1, LPUartTC);   ///<清发送中断请求
        
        LPUart_DisableIrq(M0P_LPUART1,LPUartTxIrq);///<禁止发送中断
        LPUart_EnableIrq(M0P_LPUART1,LPUartRxIrq); ///<使能接收中断
    }
   
    if(LPUart_GetStatus(M0P_LPUART1, LPUartRC))    ///接收数据
    {
        LPUart_ClrStatus(M0P_LPUART1, LPUartRC);   ///<清接收中断请求
        u8RxData = LPUart_ReceiveData(M0P_LPUART1);///读取数据
        
        LPUart_DisableIrq(M0P_LPUART1,LPUartRxIrq);///<禁止接收中断
        LPUart_EnableIrq(M0P_LPUART1,LPUartTxIrq); ///<使能发送中断
        
        //LPUart_SendDataIt(M0P_LPUART1, ~u8RxData); ///把接收数据取反,并发送      
        LPUart_SendDataIt(M0P_LPUART1, u8RxData); ///收到数据返回什么数据                             
    }
}


串口调试助手:以16进制方式 发送一个字节11,
收到的数据 如下,有是有收到一个字节,有时候收到两个字节,数据也不对,这是为什么?
91 91     
11
3F
11
3F
11
91
91
3F
11
martinhu 发表于 2020-6-9 15:29 | 显示全部楼层
例程里面是不是带奇偶校验的?
guanjiaer 发表于 2020-7-7 16:10 | 显示全部楼层
校验的方式一致吗
heimaojingzhang 发表于 2020-7-7 16:11 | 显示全部楼层
这种现象有规律吗
keaibukelian 发表于 2020-7-7 16:11 | 显示全部楼层
接收数据的缓存清了吗
labasi 发表于 2020-7-7 16:11 | 显示全部楼层
帮楼主顶一下
paotangsan 发表于 2020-7-7 16:12 | 显示全部楼层
楼主找到问题的答案了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

91

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部