4 回答

皈依舞
TA貢獻1851條經驗 獲得超3個贊
沒辦法輸出,所以keil中使用printf函數沒有意義,可是又有許多程序使用,原來是為了調試,對printf函數進行了重定向,代碼如下:
int fputc(int ch,FILE *f)
{
/* Write a character to the USART */
USART_SendData(USART2, (unsigned char) ch);
/* Loop until the end of transmission */
while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);
return ch;
}
這樣就把本來應該輸出到屏幕的字符輸出到串口中,使用串口調試助手就可以看到相關的調試信息,為什么keil沒有輸出界面呢,因為keil本身具有非常強大的調試功能,使用debug模式可以讓代碼依次執行,你可以看到每一條代碼的執行過程和變量的變化過程,更不用說還有寄存器的操作等等,因此keil就沒有輸出界面
添加回答
舉報
0/150
提交
取消