1
我需要從AT89s52串行傳輸數據到PC的超級終端。 爲此,我編寫了一個示例程序,在89s52微控制器內編程下面給出的代碼,並通過串口將它連接到我的PC,從而在我的PC的超級終端上打印「Hello」。現在,當我爲相應的端口打開超級終端時,我應該多次看到屏幕上印着「Hello」,但實際上我看到的是一些垃圾數據被打印出來。 這是我用過的代碼。89s52與超級終端的串行接口...獲取垃圾值
#include < AT89X52.H>
#include < STDLIB.H>
#include < STDIO.H>
unsigned int i;
void main (void)
{
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xFD;
TL1 = 0xFD;
TR1 = 1;
TI = 1;
P1 = 0;
while (1)
{
puts("Hello\r");
P1 ^= 0x01; /* Toggle P1.0 each time we print */
for(i=0;i<25000;i++);
}
}
在超級終端,我沒有得到正確的輸出,即你好。相反,我看到一些垃圾字符.. 任何人都可以幫助這個請.. ..?
您是否匹配了每端的波特率和停止位數? –
是的..它的9600和停止位= 1, – ACP
[這個問題]涵蓋得很好(http://electronics.stackexchange.com/questions/70126/find-th1-in-at89s52-micro-controller-in-串行通信),也是您想要提問的網站。 –