⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modbus.lst

📁 用于单片机的开发 用modbus协议 实现上位机与下位机的通讯
💻 LST
📖 第 1 页 / 共 3 页
字号:
 398   2                      case 5:
 399   2                                      break;
 400   2                      case 6:
 401   2                                      break;                  
 402   2                      case 7:
 403   2                                      break;          
 404   2                      case 8:
 405   2                                      break;          
 406   2                      case 9:
 407   2                                      break;          
 408   2                      case 10:
 409   2                                      break;
 410   2                      case 11:
 411   2                                      break;
 412   2                      case 12:
 413   2                                      break;
 414   2                      case 13:
 415   2                                      break;
 416   2                      case 14:
 417   2                                      break;
 418   2                      case 15:
 419   2                                      break;
 420   2                      case 16:
 421   2                                      break;                                                                                                          
 422   2                      default:
 423   2                                      break;          
C51 COMPILER V7.06   MODBUS                                                                03/16/2005 16:48:06 PAGE 8   

 424   2              }       
 425   1              
 426   1              return result;
 427   1      }//uint16 getCoilVal(uint16 addr,uint16 *data)
 428          
 429          
 430          //设定线圈状态 返回0表示成功
 431          uint16 setCoilVal(uint16 addr,uint16 tempData)
 432          {
 433   1              uint16 result = 0;
 434   1              uint16 tempAddr;
 435   1              
 436   1              tempAddr = addr & 0xfff;
 437   1              
 438   1                      
 439   1              switch(tempAddr & 0xff)
 440   1              {
 441   2                      case 0:
 442   2                                      break;
 443   2                      case 1: 
 444   2                                      testCoil = tempData;
 445   2                                      break;
 446   2                      case 2:         
 447   2                                      break;          
 448   2                      case 3:
 449   2                                      break;          
 450   2                      case 4:
 451   2                                      break;          
 452   2                      case 5:
 453   2                                      break;
 454   2                      case 6:
 455   2                                      break;                  
 456   2                      case 7:
 457   2                                      break;          
 458   2                      case 8:
 459   2                                      break;          
 460   2                      case 9:
 461   2                                      break;          
 462   2                      case 10:
 463   2                                      break;
 464   2                      case 11:
 465   2                                      break;
 466   2                      case 12:
 467   2                                      break;
 468   2                      case 13:
 469   2                                      break;
 470   2                      case 14:
 471   2                                      break;
 472   2                      case 15:
 473   2                                      break;
 474   2                      case 16:
 475   2                                      break;                                                                                                          
 476   2                      default:
 477   2                                      break;          
 478   2              }       
 479   1      
 480   1      
 481   1              return result;
 482   1      }//uint16 setCoilVal(uint16 addr,uint16 data)
 483          
 484          //取寄存器值 返回0表示成功
 485          uint16 getRegisterVal(uint16 addr,uint16 *tempData)
C51 COMPILER V7.06   MODBUS                                                                03/16/2005 16:48:06 PAGE 9   

 486          {
 487   1              uint16 result = 0;
 488   1              uint16 tempAddr;
 489   1              
 490   1              tempAddr = addr & 0xfff;
 491   1              
 492   1              switch(tempAddr & 0xff)
 493   1              {
 494   2                      case 0:
 495   2                                      break;
 496   2                      case 1: 
 497   2                                      break;
 498   2                      case 2:         
 499   2                                      break;          
 500   2                      case 3:
 501   2                                      break;          
 502   2                      case 4:
 503   2                                      break;          
 504   2                      case 5:
 505   2                                      break;
 506   2                      case 6:
 507   2                                      break;                  
 508   2                      case 7:
 509   2                                      break;          
 510   2                      case 8:
 511   2                                      break;          
 512   2                      case 9:
 513   2                                      break;          
 514   2                      case 10:
 515   2                                      break;
 516   2                      case 11:
 517   2                                      break;
 518   2                      case 12:
 519   2                                      break;
 520   2                      case 13:
 521   2                                      break;
 522   2                      case 14:
 523   2                                      break;
 524   2                      case 15:
 525   2                                      break;
 526   2                      case 16:
 527   2                                      *tempData = testRegister;
 528   2                                      break;                                                                                                          
 529   2                      default:
 530   2                                      break;          
 531   2              }
 532   1              
 533   1              return result;
 534   1      }//uint16 getRegisterVal(uint16 addr,uint16 &data)
 535          
 536          //设置寄存器值 返回0表示成功
 537          uint16 setRegisterVal(uint16 addr,uint16 tempData)
 538          {
 539   1              uint16 result = 0;
 540   1              uint16 tempAddr;
 541   1              
 542   1              tempAddr = addr & 0xfff;
 543   1              
 544   1              switch(tempAddr & 0xff)
 545   1              {
 546   2                      case 0:
 547   2                                      break;
C51 COMPILER V7.06   MODBUS                                                                03/16/2005 16:48:06 PAGE 10  

 548   2                      case 1: 
 549   2                                      break;
 550   2                      case 2:         
 551   2                                      break;          
 552   2                      case 3:
 553   2                                      break;          
 554   2                      case 4:
 555   2                                      break;          
 556   2                      case 5:
 557   2                                      break;
 558   2                      case 6:
 559   2                                      break;                  
 560   2                      case 7:
 561   2                                      break;          
 562   2                      case 8:
 563   2                                      break;          
 564   2                      case 9:
 565   2                                      break;          
 566   2                      case 10:
 567   2                                      break;
 568   2                      case 11:
 569   2                                      break;
 570   2                      case 12:
 571   2                                      break;
 572   2                      case 13:
 573   2                                      break;
 574   2                      case 14:
 575   2                                      break;
 576   2                      case 15:
 577   2                                      break;
 578   2                      case 16:
 579   2                                      testRegister = tempData;
 580   2                                      break;                                                                                                          
 581   2                      default:
 582   2                                      break;          
 583   2              }
 584   1              
 585   1              return result;
 586   1      }//uint8 setRegisterVal(uint16 addr,uint16 data)


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1003    ----
   CONSTANT SIZE    =    512    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7      52
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  4 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -