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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

89C52單片機modbus-RTU協議的從機程序,無法寫入線圈!找不到問題

[復制鏈接]
跳轉到指定樓層
樓主
程序與上位機通訊能夠實現,我用串口調試助手發送 01 05 00 00 00 00 CD CA(站號01,功能碼05(寫單個位狀態),地址:0000,狀態0,校驗碼),單片機從機回復01 05 00 00 00 00 CD CA,經測試,通訊沒問題!
再發送 01 01 01 00 00 00 08 3D C6(站號01,功能碼01(讀位狀態),起始地址:0000,寄存器個數:8,校驗碼)
單片機回復 01 01 01 00 51 88 由此可見位寄存器0----8為0000 0000,并沒有被改變。。。

以下為我的單片機定時器T0中斷服務程序:

  1. /*T0中斷服務程序*/

  2. void comm_stop() interrupt 1
  3. {   
  4.           u8 i;
  5.           TH0=(65536-11111)/256;  //重裝T0
  6.     TL0=(65536-11111)%256;  //T0低位

  7.           if(Reciver_bit&&comm_END!=0)          //確認等待3.5個字節時間8ms && 接收位為1
  8.     comm_END--;
  9.           if(comm_END==0)
  10.                 {
  11.                          Reciver_bit=0;                     //幀接收,對標志位清零
  12.                          if(rece_index>=8)                  //確認接收數據長度大于等于8
  13.                         
  14.                                  AnalyzeRecieve();
  15.                                  send_comm();
  16. led0=Bit[0];               
  17. led1=Bit[1];
  18. led2=Bit[2];
  19. led3=Bit[3];
  20. led4=Bit[4];
  21. led5=Bit[5];
  22. led6=Bit[6];
  23. led7=Bit[7];
  24.                                 
  25.                         
  26.                         
  27.              rece_index=0;                      //數據長度標識位清0
  28.                    comm_END=8;                        //重新賦延時初值
  29.        for(i=0;i<16;i++)                  //清空接收數組
  30.        receBuf[i]=0;
  31.         receiveData=0;                     //接收中間變量賦初值[/i]
  32. }
  33. }
復制代碼

經過測試發現,程序運行到 AnalyzeRecieve();時,對Bit[0]=1的操作成功,運行下一步時,就好像操作被撤銷了一樣。
我在開發板上定義了LED0~LED7分別對應Bit[0]~Bit[7]來監控位狀態
神奇的是,運行一次T0中斷程序,所有LED就都閃一下,修改Bit[]也不成功。
本人知識有限,對這疑難雜陳無計可施。。。
附件包含源程序和現象視頻

狀態查詢.PNG (8.35 KB, 下載次數: 56)

狀態查詢.PNG

MODBUS_RTU_SLAVER.rar

2.57 MB, 下載次數: 44

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

使用道具 舉報

沙發
ID:578917 發表于 2019-7-16 20:15 來自觸屏版 | 只看該作者
經測試   是send_comm函數有問題   但是send_comm的功能是正常的呀     為什么會影響到其他數組
回復

使用道具 舉報

板凳
ID:137005 發表于 2019-8-5 15:23 | 只看該作者
能把解決后的代碼發一下嗎?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 超碰婷婷 | 久久久青草婷婷精品综合日韩 | 精精久久 | 欧美在线一区二区三区 | 视频一二三区 | 日日夜精品视频 | 黄色片网此 | 国产精品福利网站 | 亚洲一区视频 | 给我免费的视频在线观看 | 先锋影音资源网站 | 国产欧美日韩在线播放 | 成人免费在线电影 | 综合色播 | 久久国产精品免费一区二区三区 | 国产一级免费在线观看 | 亚洲播放 | 久久69精品久久久久久久电影好 | 成人av网站在线观看 | av黄色免费| 久久久久久久国产 | 日韩亚洲一区二区 | 91一区二区 | 黑人巨大精品欧美黑白配亚洲 | 一本大道久久a久久精二百 欧洲一区二区三区 | www.蜜桃av| wwwww在线观看 | 国产高清视频 | 国产免费一区 | 涩色视频在线观看 | 中文字幕乱码一区二区三区 | 日韩av一二三区 | 中文字幕视频三区 | 亚洲精品一区二区网址 | 成人午夜精品 | 人人九九精| 羞羞视频网站免费观看 | 69亚洲精品 | 日韩欧美一区二区三区免费观看 | 亚洲精品综合一区二区 | 亚洲精品亚洲人成人网 |