📄 modbus.lst
字号:
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 + -