久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 請(qǐng)教關(guān)于單片機(jī)串口通信,RI標(biāo)志 [打印本頁]

作者: teninnet    時(shí)間: 2012-8-1 16:25
標(biāo)題: 請(qǐng)教關(guān)于單片機(jī)串口通信,RI標(biāo)志

單片機(jī)用的是AT89S52,以下程序能正常運(yùn)行,且用串口調(diào)試助手觀察,每發(fā)送一個(gè)數(shù)據(jù),發(fā)回這個(gè)數(shù)據(jù)+1的值,其余時(shí)間均在while(RI==0)處等待,真是不明白其中為什么RI位硬件沒有自動(dòng)置1,似乎是僅僅在接收的時(shí)候RI才是1啊,如果這樣的話,中斷服務(wù)程序怎么編啊,求助啊。

#include<reg52.h>
unsigned char num;
void UART_init()
{
 SCON=0x50;
 TMOD|=0x20;
 TMOD&=0xef;
 TH1=0xfd;
 TL1=0xfd;
 TR1=1;
}
void UART_receive()
{
 while(RI==0);
 num=SBUF;
 num++;
 SBUF=num;
}
void main()
{
 UART_init();
 while(1)
 {
    UART_receive();
 }
}


作者: yeyuxiang1990    時(shí)間: 2012-8-1 17:22

你這個(gè)肯定不對(duì)了啊。都沒有中斷函數(shù)。void UART——receive()改為中斷函數(shù)。這么寫

#include<reg52.h>
unsigned char num,FLAG;
void UART_init()
{
 SCON=0x50;
 TMOD|=0x20;
 TMOD&=0xef;
 TH1=0xfd;
 TL1=0xfd;
 TR1=1;
}
void main()
{
 UART_init();
 while(1)
 {

IF(FLAG==1)

{

SBUF=NUM;

WHILE(!TI);

TI=0;

}
     }

void ser() interrupt 4

{

RI=0;

FLAG=1;

NUM=SBUF;

NUM++;

}大小寫我沒有注意,你看看吧。


作者: teninnet    時(shí)間: 2012-8-1 17:25
可問題是,目前我的程序能正常運(yùn)行,我想知道為什么這樣編能運(yùn)行,RI標(biāo)志是怎么變化的
作者: yeyuxiang1990    時(shí)間: 2012-8-1 17:48

你看看你的主函數(shù)中while(!RI);只要你寫數(shù),那么RI就為1了。然后你接著就把SBUF值付給NUM。自加后賦給SBUF,這是TI的值變?yōu)?了,發(fā)送出去。當(dāng)然可以運(yùn)行,但沒有用到中斷。


作者: teninnet    時(shí)間: 2012-8-1 17:59

程序中并沒有RI=0的清零語句,可RI還是會(huì)自動(dòng)清零,程序能在while(RI==0)處等待下一個(gè)數(shù)據(jù)的接收,就這里奇怪


作者: rgwan    時(shí)間: 2012-8-2 09:00
 RI標(biāo)志確實(shí)檢查后是自動(dòng)清零的(STC單片機(jī))。
但是為了安全起見建議還是手動(dòng)清零。
另外就是,RI標(biāo)志在收到一個(gè)byte后置1.
還有最重要的一點(diǎn)。就是你沒開串口中斷(ES=1;)。





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美日韩久久 | 99精品欧美一区二区蜜桃免费 | 在线成人av | 成人在线视频网址 | 欧美精品中文字幕久久二区 | 国产ts人妖一区二区三区 | 久久午夜电影 | 国产精品久久欧美久久一区 | 亚洲九九精品 | 国产精品久久久久一区二区三区 | 亚洲免费在线 | 久久综合影院 | 久草欧美视频 | 亚洲成人一区二区 | 欧美一区免费 | 日韩中文一区二区三区 | 久久成人国产精品 | 国产精品永久免费视频 | 欧美精品在线一区二区三区 | 精品日韩一区 | 久久久久久亚洲精品 | 夜操| 亚洲精彩视频在线观看 | 福利视频一区二区 | 粉嫩一区二区三区性色av | www.国产| 亚洲播放 | 国产精品亚洲综合 | 久久免费电影 | 黄网站在线播放 | 青青草这里只有精品 | av男人的天堂在线 | 国产人久久人人人人爽 | 99久久精品国产毛片 | 免费精品在线视频 | 精品日韩一区 | 久久av.com| 午夜欧美日韩 | 日韩二三区 | 日韩欧美中文 | 免费看国产a |