4 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
沒辦法輸出,所以keil中使用printf函數(shù)沒有意義,可是又有許多程序使用,原來是為了調(diào)試,對(duì)printf函數(shù)進(jìn)行了重定向,代碼如下:
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;
}
這樣就把本來應(yīng)該輸出到屏幕的字符輸出到串口中,使用串口調(diào)試助手就可以看到相關(guān)的調(diào)試信息,為什么keil沒有輸出界面呢,因?yàn)閗eil本身具有非常強(qiáng)大的調(diào)試功能,使用debug模式可以讓代碼依次執(zhí)行,你可以看到每一條代碼的執(zhí)行過程和變量的變化過程,更不用說還有寄存器的操作等等,因此keil就沒有輸出界面

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
點(diǎn)擊Start/Stop Debug Session 那里面就有Serial Window #1點(diǎn)擊就可以看到你顯示的結(jié)果。
添加回答
舉報(bào)