[技术问答] 请教HC32F002 接收中断数值如何取出

[复制链接]
 楼主| volbin0042 发表于 2024-5-24 16:02 | 显示全部楼层 |阅读模式
指针概念不明白 烦请指点
这一列不明白 LPUART_ReceiveIT(LPUART1, &gu8RxCmdTxLen);
&gu8RxCmdTxLen为接收长度
那接收数值在哪 如何取出

void LpUart1_IRQHandler(void)
{
    if(LPUART_GetFlag(LPUART1, LPUART_FLAG_RC))
    {
        if(LPUART_GetFlag(LPUART1, LPUART_FLAG_PE|LPUART_FLAG_FE))
        {
            ///< 错误处理……
            LPUART_ClearIrq(LPUART1, LPUART_FLAG_PE|LPUART_FLAG_FE);
        }
        else
        {
            LPUART_ReceiveIT(LPUART1, &gu8RxCmdTxLen);
            LPUART_ClearIrq(LPUART1, LPUART_FLAG_RC);
        }

    }
}
wubangmi 发表于 2024-5-24 17:02 | 显示全部楼层
gu8RxCmdTxLen  这是个变量  &gu8RxCmdTxLen  指的是变量的地址

这个地址带进去到一个指针的形参,大家都是带地址进去,没有错误,最后LPUART接收到的数据就存放在gu8RxCmdTxLen这个变量的地址里了。

gu8RxCmdTxLen只是名字而已,他就是个变量,你不要把它当成是特定的某个东西,他可以放接收到的数据,也可以放任何其他的东西。

 楼主| volbin0042 发表于 2024-5-24 18:05 | 显示全部楼层
wubangmi 发表于 2024-5-24 17:02
gu8RxCmdTxLen  这是个变量  &gu8RxCmdTxLen  指的是变量的地址

这个地址带进去到一个指针的形参,大家都 ...

若我接收6个byte{0x02,0x30,0x31,0x45,0x46,0x03}
请教 LPUART_ReceiveIT(LPUART1, &gu8RxCmdTxLen);
是否为一次中断 接收一个byte 还是一次收6个byte

wubangmi 发表于 2024-5-27 08:57 | 显示全部楼层
volbin0042 发表于 2024-5-24 18:05
若我接收6个byte{0x02,0x30,0x31,0x45,0x46,0x03}
请教 LPUART_ReceiveIT(LPUART1, &gu8RxCmdTxLen);
是 ...

一个
 楼主| volbin0042 发表于 2024-6-13 08:37 | 显示全部楼层

感谢回复! 案子已完结
祝顺心!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

70

帖子

1

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