作者kurama1984 (牛牽到南韓也能整形成馬)
看板ASM
標題[問題] uart問題
時間Wed Sep 5 17:14:19 2012
測試rs232 傳輸
測試一個位元PC傳送後,51收到後用LED顯示
第5bit就開始錯誤
送出0x55
D0 D1 D2 D3 D4 D5 D6 D7
1 0 1 0 1 0 1 0
顯示
1 0 1 0 1 1 0 1
↑
D4總會往後拖1BIT
D7就看不到了
用的是PL2303模擬RS232
請大大解答
void main()
{
TMOD=0x20;//設置定時器1為工作方式2
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
while(1);
}
void ser() interrupt 4
{
a=SBUF;
RI=0;
P1=a;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.126.131.221
※ 編輯: kurama1984 來自: 59.126.131.221 (09/05 17:47)
※ 編輯: kurama1984 來自: 59.126.131.221 (09/05 18:01)
1F:推 ruemann:呃 好歹也給一下CRYSATL和PC的BAUD RATE吧... 09/05 20:53
2F:→ kurama1984:12M 9600bps 09/05 21:37
3F:→ kurama1984:用別的baud rate寫就完全亂碼不能分析了 09/05 21:42
※ 編輯: kurama1984 來自: 59.126.131.221 (09/05 22:49)
4F:→ ksmrt0123:baud rate有誤差. 改用timer2產生baud rate才行 09/06 00:06
沒錯,剛剛改timer2 成功了
※ 編輯: kurama1984 來自: 59.126.131.221 (09/06 00:18)