撰寫了一段電機驅動代碼,但是使用printf函式無法向串口發送內容,只有將定時器3的PWM輸出初始化TIM3_Init_pwmout(99,47)注釋掉,printf才可以向串口發送內容,請各位指教。
int main()
{
int a=0,b,c,d=0;
uart_init(115200);
Motor_Init();
LED_Init();
TIM3_Init_pwmout(99,47);
delay_init();
printf("%d",d+1);
LED0=!LED0;
delay_ms(5000);
printf("%d",d);
while(1)
{
LED0=!LED0;
delay_ms(500);
LED1=!LED1;
delay_ms(500);
b=++a;
c=a+15;
printf("%d,%d",b,c)
}
}
uj5u.com熱心網友回復:
不知道你這個函式TIM3_Init_pwmout里面是干嘛的,不過你可以用排除法,這個函式里面的內容慢慢的屏蔽看效果。因為如果是你這個函式里面某些陣列用超了是會出現例外的uj5u.com熱心網友回復:
很可能在TIM3函式里面死了。根本沒運行到printf.我常用的故障除錯排除法:LED指示燈定位。
你在TIM3-Init下面加一行 ,打開指示燈,看能不能運行到這一行。
uj5u.com熱心網友回復:
已解決問題。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/74192.html
標籤:單片機/工控
上一篇:串口通訊協議幀ID
下一篇:一個單片機的題目
