各位大神,我这数组值为什么没有更新?

2019-07-21 03:56发布

[mw_shl_code=c,true]void DEBUG_USART2_IRQHandler(void)
{
  
        uint8_t Temp2;
        flag = RESET;
       
        if(USART_GetITStatus(DEBUG_USART2,USART_IT_RXNE)!=RESET)
        {       

                Temp2 = USART_ReceiveData(DEBUG_USART2);
                D[l]=Temp2;
          l++;
                if(Temp2 == 0x0a)
                {
                        flag=SET;
                }
        }       
}[/mw_shl_code]

[mw_shl_code=c,true]int main(void)
{       
        char *str="01";
        USART1_Config();
        USART2_Config();
        LED_GPIO_Config();
        KEY_GPIO_Config();

        printf( "串口printf函数测试 " );
  LED1_ON;
                         for(h=0;h<10;h++)
                {
                        D[h]=0;
                }
               
while(1)
        {
       
                if( Key_Scan(KEY1_GPIO_PORT,KEY1_GPIO_PIN) ==KEY_ON )
                        {
                                D[h]=0;
                                Usart_SendStr(DEBUG_USART2,(uint8_t*)str);
                                LED1_TOGGLE;
                                LED3_TOGGLE;
                                while (flag != SET)
                                        {
                       
                                        }
                                       
                         for(h=0;h<10;h++)
                                        {
                                                        printf("%c",D[h]);
                                        }
                                        printf(" ");
                        }

        }[/mw_shl_code]

我个人判断,是因为串口没有接收数据,所以数组没有更新。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。