1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標題: 關于單片機+sx1278無線模塊只能接收1個字節的問題 [打印本頁]

作者: a123456789abc    時間: 2018-11-3 19:25
標題: 關于單片機+sx1278無線模塊只能接收1個字節的問題
單片機使用 stc59c52 用的澤耀公司的 AS32-ttl-100 無線模塊     使用串口 接收 發送數據 SCON=0x50 8位    TMOD = 0x20 8位自動重裝在
TH1 = 0xfd   TL1=0xfd     波特率 9600     發送波特率9600
發送端:模塊介紹 一次發送32字節  不滿32 等待3字節 認為數據終止 模塊發射數據。

問題 : SBUF  只能送到單片機 一個字節的數據 。   


  1. void jieshou()    接收的代碼
  2. {
  3. uchar b,a;
  4. uint c=0x7fff;
  5. while(c--)
  6. {
  7.   if(0!=RI)
  8.   {
  9.    for(b=0;b<4;b++)
  10.    {
  11.     a=SBUF;
  12.     shuzu[b]=a;
  13.     c=0x7fff;
  14.    }
  15.   RI=0;
  16.   }
  17. }
  18. }
復制代碼

求解啊    試過很多種辦法了  但沒什么卵用   難道只能一個字節一個字節的發么   



作者: yzwzfyz    時間: 2018-11-3 21:36
9600的波特率傳送一個字節約需要1.5ms,在這個時間里足以將收到的字節保存起來,而后再收下個字節,如果5ms內收不到就認為結束了一幀,
你邏輯混亂!
正確的做法:串口中斷后首先清中斷標記,再下載數據,再保存數據,再將保存數據的地址+1,退出中斷程序
你呢:中斷后,下載了4次數據,用時不會超0.1ms,再下多些,也都是同一個數據,因為下個數據還沒有到來!
作者: devcang    時間: 2018-11-3 22:39
首先,使用電腦兩個串口,測試模塊是正常的,,,,,然后把單片機的串口程序對電腦通訊,看看是否正常。。。。。最后,單片機連接模塊,進行通訊、接收測試 。


——這模塊,在壞掉的情況,會只收到1個字節的、模塊還會比正常時過熱。
作者: hange_v    時間: 2018-11-3 22:45
發完一個再發下一個,直到發完




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