xiaolonghun 发表于 2020-10-27 15:33

HCL136 串口通信,只能收发一个字节,多的收发不了

串口只能发送一个字节,然后demo板子,返回你发送的一个字节取反。如何
修改才能够发送多个字节,并在串口调试助手上面回显?有没有做过这方面的,麻烦提供一个DEMO程序

///<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); ///把接收数据取反,并发送      
    }
}

Zhyolo 发表于 2020-10-27 15:51

你不取反就可以了啊

xinxianshi 发表于 2020-10-27 15:55

一个一个收嘛

598330983 发表于 2020-10-27 22:10

一个一个的不就是一串了。

北夏 发表于 2020-11-2 13:37

一个一个收啊

qianyue1996 发表于 2021-4-27 17:06

解决?一个个收我发现经常丢数据,尴尬,没有规律的丢,不知道咋回事

HTCL 发表于 2021-4-27 17:22

qianyue1996 发表于 2021-4-27 17:06
解决?一个个收我发现经常丢数据,尴尬,没有规律的丢,不知道咋回事

这个代码是乒乓方式,如果单片机发送的时候来数据,因为接收中断是关闭的,自然会丢。

martinhu 发表于 2021-4-28 18:38

HTCL 发表于 2021-4-27 17:22
这个代码是乒乓方式,如果单片机发送的时候来数据,因为接收中断是关闭的,自然会丢。 ...

对的,想要收发一串,就得改样例
页: [1]
查看完整版本: HCL136 串口通信,只能收发一个字节,多的收发不了