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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9519|回復: 5
打印 上一主題 下一主題
收起左側

請教關于單片機串口通信,RI標志

[復制鏈接]
跳轉到指定樓層
樓主
ID:35705 發表于 2012-8-1 16:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

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

#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();
 }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:43522 發表于 2012-8-1 17:22 | 只看該作者

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

#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++;

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

回復

使用道具 舉報

板凳
ID:35705 發表于 2012-8-1 17:25 | 只看該作者
可問題是,目前我的程序能正常運行,我想知道為什么這樣編能運行,RI標志是怎么變化的
回復

使用道具 舉報

地板
ID:43522 發表于 2012-8-1 17:48 | 只看該作者

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

回復

使用道具 舉報

5#
ID:35705 發表于 2012-8-1 17:59 | 只看該作者

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

回復

使用道具 舉報

6#
ID:43499 發表于 2012-8-2 09:00 | 只看該作者
 RI標志確實檢查后是自動清零的(STC單片機)。
但是為了安全起見建議還是手動清零。
另外就是,RI標志在收到一個byte后置1.
還有最重要的一點。就是你沒開串口中斷(ES=1;)。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www.yw193.com| 亚洲日本国产 | 高清人人天天夜夜曰狠狠狠狠 | 久久久久久天堂 | 精品国产91乱码一区二区三区 | 欧美国产精品久久久 | 狠狠干狠狠操 | 美女亚洲一区 | 欧美日韩亚洲国产综合 | 天天草视频 | 男女网站视频 | 久久伊| a级免费观看视频 | 日韩三级电影在线看 | 久久一二区 | 欧美精品久久久久久久久老牛影院 | 欧美精品久久 | 超碰导航| 天天操夜夜操 | 久久久久亚洲精品 | 91中文字幕| 欧美涩涩网 | 九色av | 久草精品视频 | 国产成人精品久久二区二区 | 国产视频一区在线 | 五月激情综合 | 亚洲九色 | 欧美精品一区二区三区四区五区 | 国产xxxx搡xxxxx搡麻豆 | 精品福利在线 | 国产片一区二区三区 | 91中文字幕 | 久久国产欧美日韩精品 | 国产精品久久久久久久久久久久久久 | 天天综合天天 | 亚洲一区二区久久 | 欧美性久久| 亚洲高清在线观看 | 久久精品国产一区 | 91九色视频在线 |