STM32单片机串口数据接收问题

2019-07-15 08:30发布

单片机新人求教求教,大神们帮帮忙。最近在做一个蓝牙门锁,手机客户端这的数据经AES加密后得到的数据是0x34:0xc3:0x3b:0x7f:0x14:0xfd:0x53:0xdc:0xea:0x25:0xe0:0x1a:0x02:0xe1:0x67:0x27,可是单片机串口接收数据如图,客户端发送字符串“123456789”可以正常接收,可是到了加密后的数据就有错,是怎么个回事?

附串口中断服务
void USART1_IRQHandler(void)                        //´®¿Ú1ÖжϷþÎñ³ÌÐò
        {

        u8 Res;
#ifdef OS_tiCKS_PER_SEC                 //Èç¹ûʱÖÓ½ÚÅÄÊý¶¨ÒåÁË,˵Ã÷ҪʹÓÃucosIIÁË.
        OSIntEnter();   
#endif
        if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)  //½ÓÊÕÖжÏ(½ÓÊÕµ½µÄÊý¾Ý±ØÐëÊÇ0x0d 0x0a½áβ)
                {
                Res =USART_ReceiveData(USART1);//(USART1->DR);        //¶ÁÈ¡½ÓÊÕµ½µÄÊý¾Ý
               
                if((USART_RX_STA&0x8000)==0)//½ÓÊÕδÍê³É
                        {
                        if(USART_RX_STA&0x4000)//½ÓÊÕµ½ÁË0x0d
                                {
                                if(Res!=0x0a)USART_RX_STA=0;//½ÓÊÕ´íÎó,ÖØпªÊ¼
                                else USART_RX_STA|=0x8000;        //½ÓÊÕÍê³ÉÁË
                                }
                        else //»¹Ã»ÊÕµ½0X0D
                                {        
                                if(Res==0x0d)USART_RX_STA|=0x4000;
                                else
                                        {
                                        USART_RX_BUF[USART_RX_STA&0X3FFF]=Res ;
                                        USART_RX_STA++;
                                        if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;//½ÓÊÕÊý¾Ý´íÎó,ÖØпªÊ¼½ÓÊÕ          
                                        }               
                                }
                        }                  
     }
#ifdef OS_TICKS_PER_SEC                 //Èç¹ûʱÖÓ½ÚÅÄÊý¶¨ÒåÁË,˵Ã÷ҪʹÓÃucosIIÁË.
        OSIntExit();                                                                                         
#endif
}

QQ图片20180503112952.png
0条回答

一周热门 更多>