📄 modbus.lst
字号:
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;
424 2 }
425 1
426 1 return result;
427 1 }//uint16 getCoilVal(uint16 addr,uint16 *data)
C51 COMPILER V8.05a MODBUS 08/19/2008 15:20:43 PAGE 8
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 led0 = tempData;
443 2 break;
444 2 case 1:
445 2 led1 = tempData;
446 2 break;
447 2 case 2:
448 2 led2 = tempData;
449 2 break;
450 2 case 3:
451 2 led3 = tempData;
452 2 break;
453 2 case 4:
454 2 led4 = tempData;
455 2 break;
456 2 case 5:
457 2 led5 = tempData;
458 2 break;
459 2 case 6:
460 2 led6 = tempData;
461 2 break;
462 2 case 7:
463 2 led7 = tempData;
464 2 break;
465 2 case 8:
466 2 break;
467 2 case 9:
468 2 break;
469 2 case 10:
470 2 break;
471 2 case 11:
472 2 break;
473 2 case 12:
474 2 break;
475 2 case 13:
476 2 break;
477 2 case 14:
478 2 break;
479 2 case 15:
480 2 break;
481 2 case 16:
482 2 break;
483 2 default:
484 2 break;
485 2 }
486 1
487 1
488 1 return result;
489 1 }//uint16 setCoilVal(uint16 addr,uint16 data)
C51 COMPILER V8.05a MODBUS 08/19/2008 15:20:43 PAGE 9
490
491 //取寄存器值 返回0表示成功
492 uint16 getRegisterVal(uint16 addr,uint16 *tempData)
493 {
494 1 uint16 result = 0;
495 1 uint16 tempAddr;
496 1
497 1 tempAddr = addr & 0xfff;
498 1
499 1 switch(tempAddr & 0xff)
500 1 {
501 2 case 0:
502 2 break;
503 2 case 1:
504 2 break;
505 2 case 2:
506 2 break;
507 2 case 3:
508 2 break;
509 2 case 4:
510 2 break;
511 2 case 5:
512 2 break;
513 2 case 6:
514 2 break;
515 2 case 7:
516 2 break;
517 2 case 8:
518 2 break;
519 2 case 9:
520 2 break;
521 2 case 10:
522 2 break;
523 2 case 11:
524 2 break;
525 2 case 12:
526 2 break;
527 2 case 13:
528 2 break;
529 2 case 14:
530 2 break;
531 2 case 15:
532 2 break;
533 2 case 16:
534 2 *tempData = a;
535 2 break;
536 2 default:
537 2 break;
538 2 }
539 1
540 1 return result;
541 1 }//uint16 getRegisterVal(uint16 addr,uint16 &data)
542
543 //设置寄存器值 返回0表示成功
544 uint16 setRegisterVal(uint16 addr,uint16 tempData)
545 {
546 1 uint16 result = 0;
547 1 uint16 tempAddr;
548 1
549 1 tempAddr = addr & 0xfff;
550 1
551 1 switch(tempAddr & 0xff)
C51 COMPILER V8.05a MODBUS 08/19/2008 15:20:43 PAGE 10
552 1 {
553 2 case 0:
554 2 break;
555 2 case 1:
556 2 break;
557 2 case 2:
558 2 break;
559 2 case 3:
560 2 break;
561 2 case 4:
562 2 break;
563 2 case 5:
564 2 break;
565 2 case 6:
566 2 break;
567 2 case 7:
568 2 break;
569 2 case 8:
570 2 break;
571 2 case 9:
572 2 break;
573 2 case 10:
574 2 break;
575 2 case 11:
576 2 break;
577 2 case 12:
578 2 break;
579 2 case 13:
580 2 break;
581 2 case 14:
582 2 break;
583 2 case 15:
584 2 break;
585 2 case 16:
586 2 a = tempData;
587 2 break;
588 2 default:
589 2 break;
590 2 }
591 1
592 1 return result;
593 1 }//uint8 setRegisterVal(uint16 addr,uint16 data)
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1060 ----
CONSTANT SIZE = 512 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 47
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -