打印
[技术问答]

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

[复制链接]
1064|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 | 只看该作者
一个一个的不就是一串了。

使用特权

评论回复
5
北夏| | 2020-11-2 13:37 | 只看该作者
一个一个收啊

使用特权

评论回复
6
qianyue1996| | 2021-4-27 17:06 | 只看该作者
解决?一个个收我发现经常丢数据,尴尬,没有规律的丢,不知道咋回事

使用特权

评论回复
7
HTCL| | 2021-4-27 17:22 | 只看该作者
qianyue1996 发表于 2021-4-27 17:06
解决?一个个收我发现经常丢数据,尴尬,没有规律的丢,不知道咋回事

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

使用特权

评论回复
8
martinhu| | 2021-4-28 18:38 | 只看该作者
HTCL 发表于 2021-4-27 17:22
这个代码是乒乓方式,如果单片机发送的时候来数据,因为接收中断是关闭的,自然会丢。 ...

对的,想要收发一串,就得改样例

使用特权

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

本版积分规则

2

主题

2

帖子

0

粉丝