作者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)