打印

大神们求助,我用战舰COM2口进行通信的时候,上电之后必须复位一下才能正常通信,为啥会这样,大神们求助T_T

[复制链接]
271|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
王将|  楼主 | 2018-7-6 18:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void USART2_IRQHandler(void)                        //串口2中断服务程序
        {                        u8 res;
                 
                                if(USART_GetITStatus(USART2,USART_IT_RXNE)!=RESET)
                                                        {                                
                                                                                        USART_ClearITPendingBit(USART2,USART_IT_RXNE);
                                                                                        res=USART_ReceiveData(USART2); //读接收到的字节,同时相关标志自动清除
                                                                        if(jiguang.ReceiveFlag==0){
                                                                                
                                                                                                        if(jiguang.Flag_odd==0){
                                                                                                                 //LED1=0;
                                                                                                                if((jiguang.Receive_PP ==0xB4) && (res==0x69)){
                                                                                                                                jiguang.Flag_odd=1;
                                                                                                                        
                                                                                                                }
                                                                                                                jiguang.Receive_PP=res;
                                                                                                        }
                                                                                                        if(jiguang.Flag_odd==1){
                                                                                                               
                                                                                                                jiguang.ReceiveBuffer[point]=res;
                                                                                                                                                                point++;
                                                                                                        }
                                                                                                        if(point==8){
                                                                                                                jiguang.Flag_odd=0;
                                                                                                                point=1;
                                                                                                                jiguang.Receive_PP =0;
                                                                                                                jiguang.ReceiveFlag=1;
                                                                                                                jiguang.ReceiveBuffer[0]=0xB4;
                                                                                                        }
                                                                                        }
                                                                        
}
                                                        }
这是我的串口中断函数,是因为哪个地方出现错误了么!!

使用特权

评论回复

相关帖子

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

本版积分规则

419

主题

419

帖子

0

粉丝