dqqqqqq 发表于 2020-6-8 17:07

HC32L130的LPUART1中断接收异常

官方库: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

楼主找到问题的答案了吗
页: [1]
查看完整版本: HC32L130的LPUART1中断接收异常