久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 51學習之串口發送

51學習之串口發送

作者: 時間:2016-11-23 來源:網絡 收藏
先是自己根據PPT學習資料配置了下串口,試圖向上位機發送字母c.下了不能工作,找資料看發現少配置了SCON寄存器,再試,還不行,收到的是亂碼。又看了看人家的發現是配置的參數不正確,就是波特率不對。抄人家的數上來,還不行。郁悶了。
然后周末搬家,收東西,也沒顧上調。這周單位忙TBKZQ的事情,晚上回來晚,也不說調了。想想這2天晚上回來沒干啥事,有點空虛,決定再調調串口。
還是上回的程序,收到的東西很怪。并且有時候還會出現就是我關串口,或是電路板斷電,小助手還源源不斷的收數據,最后死機了。(我猜測這種情況是因為串口一直不停發,數據間也沒延時,最后串口處理不過來,會亂碼,會死機。)換個字發,還是不行,但偶爾也會正常,再下程序,OK了。
elay()
{ int i,j;
for(i=0;i<7000;i++)
{
for(j=0;j<3;j++);
}
}

Uart_int()
{ SCON=0x50;
TMOD=0x20;
TH1 =0xfd;
TL1 =0xfd;

TR1 =1;
}

void Main()
{
Uart_int();
while(1)
{
SBUF=c;
Delay();
SBUF=s;
Delay();
SBUF= ;
Delay();
}
}
哎,不管怎樣,先弄個正確的,也好有點信心往下進行。至于復雜點的,調用函數發字符啥的,回頭再弄吧。
總結下串口發送吧!
1. 串口發送可以不理發送中斷,所以不用配置中斷。但要查詢中斷,肯定要開中斷才行了。
2. 波特率一定要配置對,不然收到的肯定不是你想要的數據了。
3. 發數據要注意延時,要不會死機的。
4. 有空還是要好好學學相關的理論啊!比如波特率初值的計算啥的。


關鍵詞: 51學習串口發

評論


技術專區

關閉