欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 串口程序問題 [打印本頁]

作者: 奈何    時間: 2012-9-19 21:13
標題: 串口程序問題

#include<reg52.h>
#include<intrins.h>
void send_char(unsigned char txd);
unsigned char tmp;
void main()
{
 TMOD=0x20;                          //設置定時器1為方式2
 TH1=TL1=0xfd;                       //設置波特率為9600
 TR1=1;                              //啟動定時器1
 SCON=0x50;                          //設置串口工作方式為方式1
 while(1)
 {
   if(RI==1)                       //判斷是否接收到數據,為1表示接收完數據
  {
      RI=0;                       //清除RI狀態
      tmp=SBUF;
//     if(tmp=0xff)
//     {
        send_char(tmp);
//     }
  }
 }
}

void send_char(unsigned char txd)
{
 SBUF=txd;
 while(!TI);
 TI=0;
}

 

想請教下各位這個程序的問題在哪~目的就是想讓串口接收到0xff的時候將數據傳送回去~如果不加if那一句就沒有問題~串口可以接收到什么返回什么~但是加上一個判斷就不行了~弄了很久都不知道問題在哪~Debug的時候通過watch窗口監視tmp和串口手動設置SBUF為0xff~tmp一直都顯示0x00不知道是怎么搞的~剛剛接觸單片機不是很熟悉~請教哈各位~非常感謝~


作者: zuoluo    時間: 2012-9-20 14:57
//     if(tmp=0xff)
你的這句寫錯了 應該是  if(tmp==0xff)
我的qq:676733417 有問題可以交流
作者: 奈何    時間: 2012-9-21 21:26
謝謝~但是好像不是這句的問題~我改過來了還是不行~請問還有別的地方有問題嗎?




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1