亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: RS485的單片機程序問題求助 [打印本頁]

作者: 一袋天驕    時間: 2018-1-12 15:39
標題: RS485的單片機程序問題求助
  1. #include <REG52.H>
  2. #include <stdio.h>

  3. sbit RS485 = P1^4;   
  4. bit SendFlag;
  5. unsigned int ReData,SenData;

  6. void delay(unsigned char i)
  7. {
  8.         unsigned char j;
  9.         for(i; i > 0; i--)
  10.                 for(j = 200; j > 0; j--);
  11. }

  12. void main (void)
  13.         {
  14.     SCON = 0x50;                       
  15.           TMOD|= 0x20;     
  16.                 PCON|= 0x80;                                                         
  17.                 TH1 = 0xF3;         
  18.                 TL1 = 0xF3;      
  19.                 TR1  = 1;                                                            
  20.                 ES   = 1;      
  21.                 EA   = 1;      
  22.         
  23.            // IE = 0x0;

  24.         while(1)
  25.     {
  26.         
  27.           if (SendFlag==1)   
  28.               {  
  29.                                 RS485=1;         
  30.               SBUF=SenData;           
  31.                   delay(50);
  32.        }
  33.          else
  34.              {
  35.               RS485=0;        
  36.              }
  37.     }
  38.   }

  39. void ser_int (void) interrupt 4 using 1
  40. {
  41. if(TI == 1)
  42. {
  43.         TI = 0;
  44.         SendFlag = 0;
  45. }

  46. if(RI == 1)      
  47. {
  48.         RI = 0;                  
  49.         ReData = SBUF;  
  50.         SenData=ReData;
  51.         SendFlag = 1;
  52. }
  53. }

復制代碼



作者: 一袋天驕    時間: 2018-1-12 15:40
通過串口助手發送00,每次接收到的不同


作者: pangfive    時間: 2018-1-12 16:39
兄弟,首先你的代碼注釋為零啊,如果是老51單片機的話,晶振12MHZ,當前配置應該是正確的void UartInit(void)                //4800bps@12.000MHz
{
        PCON |= 0x80;                //使能波特率倍速位SMOD
        SCON = 0x50;                //8位數據,可變波特率
        TMOD |= 0x20;                //設定定時器1為8位自動重裝方式
        TL1 = 0xF3;                //設定定時初值
        TH1 = 0xF3;                //設定定時器重裝值
        TR1 = 1;                //啟動定時器1
        ES = 1;                //使能串口中斷
        EA = 1;                //使能總中斷
}
作者: dzbj    時間: 2018-1-13 00:29
你是不是AB線接反了
作者: YJGG    時間: 2018-1-13 10:39
換11.0592晶體并重新設置定時器試試
作者: 一袋天驕    時間: 2018-1-15 10:44
把232收發口短接收發正常,接上232轉485后,短接TR+和TR-收發就不對了

P]BEUAB$GN=UH`XN{CCBS.png (22.27 KB, 下載次數: 84)

P]BEUAB$GN=UH`XN{CCBS.png

作者: 一袋天驕    時間: 2018-1-15 10:44
dzbj 發表于 2018-1-13 00:29
你是不是AB線接反了

沒有接反
作者: 一袋天驕    時間: 2018-1-15 10:45
是不是232轉485有問題啊
作者: 一袋天驕    時間: 2018-1-15 10:46
pangfive 發表于 2018-1-12 16:39
兄弟,首先你的代碼注釋為零啊,如果是老51單片機的話,晶振12MHZ,當前配置應該是正確的void UartInit(voi ...

和程序里面設置的一樣啊
作者: tzcl    時間: 2018-5-7 23:32
你的問題解決了嗎?我也是這個問題,真心不知道怎么回事,期待有人能給予解答。
作者: 51csh    時間: 2018-5-7 23:34

支持正常 哈多發多大大的大的
作者: 51csh    時間: 2018-5-7 23:35
tzcl 發表于 2018-5-7 23:32
你的問題解決了嗎?我也是這個問題,真心不知道怎么回事,期待有人能給予解答。

同求  搞得一頭霧水
作者: 123請問    時間: 2018-5-7 23:47
請問這是實現什么功能的
作者: tzcl    時間: 2018-5-8 00:13
我有種想哭的感覺!在我的記憶中485通信是A連A,B連B,通信數據有問題,但是比較規律,就是在最后一位改成00,其他的位返回有錯,但是有規律,我折騰了一晚上,結果就是因為A連B,B連A.




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