一個簡單的 uart debug 輸出程式

Posted by: 邱小新 at 下午3:52 in , ,

下面這支程式的 baudrate 是 38400 使用 40MHz 的震盪器。主要功能就是你輸入什麼,就顯示什麼。依此下列程式再加上 SDCC 裏的 printf 就可以用來做 debug 輸出功能了,短小精幹好用。

PS: 由於沒有使用到 ES 中斷,所以可以很放心的在中斷函數中使用 printf 來輸出訊息。

#include <8052.h> void putchar(char value) { while (!TI); TI = 0; SBUF = value; } char getchar(void) { while(!RI); RI= 0; return SBUF; } void uart_init(void) { RCAP2H = 0xff; RCAP2L = 0xe1; TH2 = RCAP2H; TL2 = RCAP2L; T2CON = 0x34; SCON = 0x52; } void main(void) { uart_init(); while (1) { putchar(getchar()); } }

PS: 因為我不會用 8051 的模擬器,所以都用 printf 在做 debug,有人說這樣不方便,其實用久習慣就好了。不管黑貓白貓,可以抓到老鼠就是好貓。

1 意見

嗨嗨
看到您的文章受益良多
不過,如果是這樣的寫法
在 Kerl 中有辦法一樣用 printf debug Uart2

例如: 除了新唐 W77E058 外的 IC MPC,C8051 等
IC 的第二個 Serial Port

謝謝您

張貼留言