stm32数据包接收

问题遇到的现象和发生背景

目的:串口接收数据包,判断数据后实现控制小灯的亮灭
问题:未接受到数据包

用代码块功能插入代码,请勿粘贴截图
int main()
{
    uint8_t a[10]={1,2,3,4,5,6,7,8,9,10};
    USART_Config();
    LED_GPIO_Init();
    TIM_Init(1000,72);


    while(1){
        if(Serial_GetRxFlag()==1)
        {
            if(strcmp(Serial_RxPacket,"LED_ON")==0)
                
            {
                LED2_ON;
                Serial_SendString("LED_ON_OK\r\n");
            }
            else if(strcmp(Serial_RxPacket,"LED_OFF")==0)
                
            {
                LED2_OFF;
                Serial_SendString("LED_OFF_OK\r\n");
            }
            
        }
    }
}


void USART_IRQHandler(void)
{
    static uint8_t RxState=0;
    static uint8_t pRxPacket=0;
    if (USART_GetITStatus(USARTx, USART_IT_RXNE) == SET)
    {
        uint8_t RxData=USART_ReceiveData(USARTx);
        
        if(RxState==0)
            {
                if(RxData=='@')
                {
                    RxState=1;
                    pRxPacket=0;
                }
            }
        else if(RxState==1)
        {
            if(RxData=='\r')
            {
                RxState=2;
            
            
            }
            else
            {
                Serial_RxPacket[pRxPacket]=RxData;
                pRxPacket++;
            }
        }
        else if(RxState==2)
        {
            if(RxData=='\n')
            {
                RxState=0;
                Serial_RxPacket[pRxPacket]='\0';
                Serial_RxFlag=1;
            }
        }
    USART_ClearITPendingBit(USARTx,USART_IT_RXNE);
    }
}

1、串口中断使能了吗
2、Serial_GetRxFlag函数没见到,是获取的Serial_RxFlag吗