打印

编译环境MDk 对于if else 的bug

[复制链接]
182|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
考哥|  楼主 | 2019-11-23 20:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
老师好,我刚学stm32系列单片机,编写了一个USART的输入函数 ,发现 if else 在编译时正确 ,烧到板子里后 if else 无法实现正确条件判断。 代码如下:void USART1_IRQHandler(void)
{
  u8 ch;
        u8 key = 1;
if( USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
        {               
    ch = USART_ReceiveData( USART1);

     if( key==1 )
       {
         ByteData[0] = ch;
         printf("\n\r 0x%02X \n\r",ByteData[0]);
          key =2;
          printf("\n\r %d \n\r",key);
        }
        else      
         {
            ByteAddr = ch;
            printf("\n\r 0x%02X \n\r",ByteAddr);
           key =1;
             printf("\n\r %d \n\r",key);
        }
         USART_ClearITPendingBit(USART1, USART_IT_RXNE);
     }
}

使用特权

评论回复

相关帖子

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

本版积分规则

461

主题

477

帖子

0

粉丝