[技术问答] HCL136 串口通信,只能收发一个字节,多的收发不了

[复制链接]
1417|7
 楼主| xiaolonghun 发表于 2020-10-27 15:33 | 显示全部楼层 |阅读模式
串口只能发送一个字节,然后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
这个代码是乒乓方式,如果单片机发送的时候来数据,因为接收中断是关闭的,自然会丢。 ...

对的,想要收发一串,就得改样例
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

0

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