欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機串口通信數據錯誤的問題!
[打印本頁]
作者:
xjtong
時間:
2019-4-8 09:34
標題:
單片機串口通信數據錯誤的問題!
89c52rc11.05892m 9600bps
直接接在電腦的上,用串口助手發(fā)的字符A ,單片機收的情況看一下,
怎么 錯這么多呀?????(上次用紅外線發(fā)的錯的更多!!!!!!
何解????!!!!!
IMG_20190408_091112647.jpg
(240.86 KB, 下載次數: 50)
下載附件
2019-4-8 09:31 上傳
作者:
xjtong
時間:
2019-4-8 09:35
發(fā)送間隔是1111MS
作者:
zhan8665
時間:
2019-4-8 10:26
上傳代碼幫你看一下
作者:
笨笨兔
時間:
2019-4-8 10:32
是不是控制字符沒處理好,顯示出來了?
作者:
badegg3
時間:
2019-4-8 10:59
單片機的串口發(fā)送比較簡單,不可靠,紅外線更不可靠
作者:
天風情
時間:
2019-4-8 11:22
這個需要分析你的程序
作者:
上帝在睡覺
時間:
2019-4-8 17:19
接收的程序可能有問題
作者:
xjtong
時間:
2019-4-9 14:59
程序如下:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit lcdrs= P1^0;
sbit lcdrw= P1^1;
sbit lcden= P2^5;
uchar i,daa[];
void delay(unsigned int i){while(--i);}
void write(uchar da,bit cr)
{
lcdrs=cr;
P0=da;
delay(5);
lcden=1;
delay(15);
lcden=0;
}
void init()
{
lcdrw=0;
lcden=0;
delay(1);
write(0x38,0);
write(0x0c,0);
write(0x01,0);//??
delay(155);
write(0x80,0); //???
}
void URATinit( )
{
TMOD=0x20;
SCON=0x50;
EA=1;
ES=1;
TH1=0xfd;
TL1=0xfd;
TR1=1;
}
void receive() interrupt 4
{
if(RI)
{
RI=0;
daa[i]=SBUF;
write(daa[i],1);
}
i++;
if(i>20)i=0;
}
void main()
{
init();
URATinit( );
while(1);
}
復制代碼
作者:
黃思遠
時間:
2019-4-9 17:28
這可能是代碼進入了死循環(huán)不斷接收
作者:
xjtong
時間:
2019-4-10 01:04
應該沒進死循環(huán),因為我在電腦換個字符,一樣可以收到,一樣錯很多。
作者:
dalaoshi
時間:
2019-4-10 13:14
能接收到正確字符表示波特率與接線都很正確,幾個字符后錯誤是因為時序誤差超過了極限,過后恢復正常是因為錯誤時序錯多幾次后又恢復正常。主要是因為:接收程序里接收到字符后必須先放到記憶緩沖,然后馬上離開,不能在里面就寫字符(write),因為write的時候有很多delay,等寫完再回頭已經來不及了。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1