小白一枚,刚买了个stm32f4探索者的板子,断点设置调试有点懵,一下第一个断点所在的if else程序怎么也进不去,是执行不了吗...

2019-07-20 21:34发布

stm32f4串口实验


int main(void)
{

        u8 t;
        u8 len;       
        u16 times=0;  
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        delay_init(168);               
        uart_init(115200);       
        LED_Init();                                 
        while(1)
        {
                if(USART_RX_STA&0x8000)
                {                                          
                ●        len=USART_RX_STA&0x3fff;
                        printf(" Äú·¢ËíμÄÏûÏ¢Îa: ");
                        for(t=0;t<len;t++)
                        {
                                USART_SendData(USART1, USART_RX_BUF[t]);         
                                while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
                        }
                        printf(" ");//2&#229;è&#235;&#187;&#187;DD
                        USART_RX_STA=0;
                }else
                {
                        times++;
                        if(times%500==0)
                        {
                                printf(" ALIENTEK ì&#189;&#203;÷&#213;&#223;STM32F407&#191;a·¢°&#229; ′&#174;&#191;úêμ&#209;é ");
        ●                        printf("&#213;yμ&#227;&#212;-×ó@ALIENTEK ");
                        }
                        if(times%200==0)printf("&#199;&#235;ê&#228;è&#235;êy&#190;Y,ò&#212;&#187;&#216;3μ&#188;ü&#189;áê&#248; ");  
                        if(times%30==0)LED0=!LED0;
                        delay_ms(10);   
                }
        }
}

第一个断点全速运行也无法运行到该步,单步调试也无法执行到该if else 函数中,这是为什么,第二个断点一切正常


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。