打印
[技术问答]

HC32L130的LPUART1中断接收异常

[复制链接]
1618|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
这种现象有规律吗

使用特权

评论回复
5
keaibukelian| | 2020-7-7 16:11 | 只看该作者
接收数据的缓存清了吗

使用特权

评论回复
6
labasi| | 2020-7-7 16:11 | 只看该作者
帮楼主顶一下

使用特权

评论回复
7
paotangsan| | 2020-7-7 16:12 | 只看该作者
楼主找到问题的答案了吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

90

帖子

0

粉丝