volbin0042 发表于 2024-5-24 16:02

请教HC32F002 接收中断数值如何取出

指针概念不明白 烦请指点
这一列不明白 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

wubangmi 发表于 2024-5-27 08:57
一个

感谢回复! 案子已完结
祝顺心!
页: [1]
查看完整版本: 请教HC32F002 接收中断数值如何取出