[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]
我个人判断,是因为串口没有接收数据,所以数组没有更新。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>