打印

为什么Buff_RX[i++]中存不了接收到的数据?

[复制链接]
217|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
你说说说说|  楼主 | 2019-11-17 15:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void USART2_IRQHandler(void)
{
//   if(USART_GetITStatus(USART2,USART_IT_RXNE)!=RESET)
//   {
//              USART_ClearFlag(USART2,USART_FLAG_TC);
//                USART_SendData(USART2,USART_ReceiveData(USART2));
//                while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)==RESET);
//   }
        
        u32 i=0,j=0,a=0,b=0;                         /* 等待USART1接收数据完毕 */
        //const char *s;
        u8 Buff_RX[1000];
        u8 Buff_TX[80];

        if(USART_GetFlagStatus(USART2 , USART_IT_RXNE) == SET)
    {
                USART_ClearITPendingBit(USART2, USART_IT_RXNE);
                Buff_RX[i++]=USART_ReceiveData(USART2);
                //USART_SendData(USART2,*Buff_RX);
                //while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)==RESET);
                        if(i>1000)
                        {
                                /*for(j=0;j<1000;j++)
                                {
                                        USART_SendData(USART2,Buff_RX[j]);
                                }*/
                                i=0;
                              for(j=0;j<1000;j++)
                                {
                                        if(Buff_RX[j]=='M')
                                                if(Buff_RX[j+1]=='C')
                                                {
                                                        for(a=0;a<80;a++)
                                                        {
                                                                Buff_TX[a]=Buff_RX[j++];
                                                                if(Buff_TX[a]==0X0D)
                                                                {
                                                                        for(b=0;b<a;b++)
                                                                        {
                                                                                USART_SendData(USART2,Buff_TX);
                                       while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)==RESET);
                                                                        }
                                                                return;
                                                                }
                                                        }
                                                        
                                                }
                                                
                                }
                                
                         }        
               

               

    }
        
}

使用特权

评论回复

相关帖子

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

本版积分规则

355

主题

355

帖子

1

粉丝