找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

MODBUS與51單片機通訊 但一直通訊超時

[復制鏈接]
跳轉到指定樓層
樓主
ID:487423 發(fā)表于 2019-3-13 14:01 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
單片機晶振為12Mhz

單片機源程序如下:
  1. #include <reg52.h>
  2. #include "modbus.h"
  3. /**********************
  4. 單片機晶振:11059200HZ 波特率9600
  5.   485控制腳: P3^7;                 根據自己的板子修改modbus.h

  6. ***************************************/

  7. void main()
  8. {
  9.         initProg();
  10.         while(1)
  11.         {
  12.         timeProc();
  13.         checkComm0Modbus();        
  14.         }
  15.         
  16. }
復制代碼

所有資料51hei提供下載:
MODBUS-51參考程序.rar (82.51 KB, 下載次數: 46)


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

使用道具 舉報

沙發(fā)
ID:548420 發(fā)表于 2019-5-28 01:29 | 只看該作者
可能是庫存儲區(qū)地址分配不對,應避免與holdstart至maxhold地址區(qū)重疊,否則雖然編譯無錯誤,但測試時會提示超時。還有可能是時間周期沒有設置正確,正確的超時時間設置可縮短整個輪詢周期,不正確的設置,將導致通訊出錯或整個通訊周期過長。以常見的主站讀取從站的寄存器為例,超時時間必須大于134.32ms,你可以設置為150ms以上。
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表