📄 menus.lst
字号:
535 4 if (CAN_HWOBJ[mo].uwMSGCTR & 0x0080) // if MO valid
536 4 {
537 5 CAN_HWOBJ[mo].uwMSGCTR = 0xff7f; // disable MO
538 5 CAN_HWOBJ[mo].uwMSGCFG |= 0x0008; // Set dir to tx
539 5 CAN_HWOBJ[mo].uwMSGCTR = 0xffbf; // enable MO
540 5 }
541 4 else // if MO invalid
542 4 {
543 5 CAN_HWOBJ[mo].uwMSGCFG |= 0x0008; // Set dir to tx
544 5 }
545 4 PrintPrompt(3,mo);
546 4 MenuID = 3;
547 4 MO_Status[mo]=1;
548 4 UpdateStatus();
549 4 }
C166 COMPILER V6.02, MENUS 08/28/2006 10:05:57 PAGE 10
550 3 else if (key == 'I' || key == 'i')
551 3 {
552 4 PrintPrompt(5, mo);
553 4 MenuID = 5;
554 4 }
555 3 else if (key == 'M' || key == 'm')
556 3 {
557 4 PrintPrompt(6, mo);
558 4 MenuID = 6;
559 4 }
560 3 else if (key == 'D' || key == 'd')
561 3 {
562 4 PrintPrompt(7, mo);
563 4 MenuID = 7;
564 4 }
565 3 else if (key == 'V' || key == 'v')
566 3 {
567 4 PrintPrompt(8, mo);
568 4 MenuID = 8;
569 4 }
570 3 break;
571 3 case 4:
572 3 if (key == 27) // Escape
573 3 {
574 4 PrintPrompt(3,mo);
575 4 MenuID = 3;
576 4 }
577 3 else if (key == 'A' || key == 'a')
578 3 {
579 4 if (CAN_HWOBJ[mo].uwMSGCTR & 0x0080) // if MO valid
580 4 {
581 5 CAN_HWOBJ[mo].uwMSGCTR = 0xff7f; // disable MO
582 5 CAN_HWOBJ[mo].uwMSGCFG &= ~0x0002; // Set to Node A
583 5 CAN_HWOBJ[mo].uwMSGCTR = 0xffbf; // enable MO
584 5 }
585 4 else // if MO invalid
586 4 {
587 5 CAN_HWOBJ[mo].uwMSGCFG &= ~0x0002; // Set to Node A
588 5 }
589 4 PrintPrompt(3,mo);
590 4 MenuID = 3;
591 4 MO_Status[mo]=1;
592 4 UpdateStatus();
593 4 }
594 3 else if (key == 'B' || key == 'b')
595 3 {
596 4 if (CAN_HWOBJ[mo].uwMSGCTR & 0x0080) // if MO valid
597 4 {
598 5 CAN_HWOBJ[mo].uwMSGCTR = 0xff7f; // disable MO
599 5 CAN_HWOBJ[mo].uwMSGCFG |= 0x0002; // Set to Node B
600 5 CAN_HWOBJ[mo].uwMSGCTR = 0xffbf; // enable MO
601 5 }
602 4 else // if MO invalid
603 4 {
604 5 CAN_HWOBJ[mo].uwMSGCFG |= 0x0002; // Set to Node B
605 5 }
606 4 PrintPrompt(3,mo);
607 4 MenuID = 3;
608 4 MO_Status[mo]=1;
609 4 UpdateStatus();
610 4 }
611 3 break;
C166 COMPILER V6.02, MENUS 08/28/2006 10:05:57 PAGE 11
612 3 case 5:
613 3 if (key == 27) // Escape
614 3 {
615 4 PrintPrompt(3,mo);
616 4 MenuID = 3;
617 4 }
618 3 if (digit_index)
619 3 {
620 4 if (key == 8) // backspace
621 4 {
622 5 MoveCursor(CursorPosY, --CursorPosX);
623 5 putchar(' ');
624 5 MoveCursor(CursorPosY, CursorPosX);
625 5 digits[--digit_index] = 0;
626 5 }
627 4 }
628 3 if(digit_index < 4)
629 3 {
630 4 if (digit_index)
631 4 {
632 5 if (key == 13) //Enter
633 5 {
634 6 if (CAN_HWOBJ[mo].uwMSGCTR & 0x0080) // if MO valid
635 6 {
636 7
637 7 CAN_HWOBJ[mo].uwMSGCTR = 0xfb7f; // Set CPU Update, reset MSGVAL
638 7 if (digit_index == 1)
639 7 {
640 8 CAN_HWOBJ[mo].ulCANAR = (unsigned long)(digits[0]) << 18;
641 8 }
642 7 else if (digit_index == 2)
643 7 {
644 8 CAN_HWOBJ[mo].ulCANAR = (unsigned long)((digits[0]<<4)|digits[1]) << 18;
645 8 }
646 7 else if (digit_index == 3)
647 7 {
648 8 CAN_HWOBJ[mo].ulCANAR = ((unsigned long)((unsigned long)(digits[0]<<8)|(digits[1]<<4)|digits[2]
-) & 0x07FF) << 18;
649 8 }
650 7 CAN_HWOBJ[mo].uwMSGCTR = 0xf7bf; // reset CPUUPD, set MSGVAL
651 7 }
652 6 else
653 6 {
654 7 if (digit_index == 1)
655 7 {
656 8 CAN_HWOBJ[mo].ulCANAR = (unsigned long)(digits[0]) << 18;
657 8 }
658 7 else if (digit_index == 2)
659 7 {
660 8 CAN_HWOBJ[mo].ulCANAR = (unsigned long)((digits[0]<<4)|digits[1]) << 18;
661 8 }
662 7 else if (digit_index == 3)
663 7 {
664 8 CAN_HWOBJ[mo].ulCANAR = ((unsigned long)((unsigned long)(digits[0]<<8)|(digits[1]<<4)|digits[2]
-) & 0x07FF) << 18;
665 8 }
666 7 }
667 6 MO_Status[mo] = 1;
668 6 PrintPrompt(3, mo);
669 6 MenuID = 3;
670 6 }
671 5 }
C166 COMPILER V6.02, MENUS 08/28/2006 10:05:57 PAGE 12
672 4 if (digit_index < 3)
673 4 {
674 5 if ( (key < ';') && (key > '/') ) // digit
675 5 {
676 6 putchar(key);
677 6 CursorPosX++;
678 6 digits[digit_index++] = key-48; // convert to number
*** WARNING C192 IN LINE 678 OF MENUS.C: '=': value truncated
679 6 }
680 5 else if ( (key < 'G') && (key > '@') ) // Cap Letter
681 5 {
682 6 putchar(key);
683 6 CursorPosX++;
684 6 digits[digit_index++] = key-55; // convert to number
*** WARNING C192 IN LINE 684 OF MENUS.C: '=': value truncated
685 6 }
686 5 else if ( (key < 'g') && (key > 96) ) // Small Letter
687 5 {
688 6 putchar(key);
689 6 CursorPosX++;
690 6 digits[digit_index++] = key-87; // convert to number
*** WARNING C192 IN LINE 690 OF MENUS.C: '=': value truncated
691 6 }
692 5 }
693 4 }
694 3 break;
695 3 case 6:
696 3 if (key == 27) // Escape
697 3 {
698 4 PrintPrompt(3,mo);
699 4 MenuID = 3;
700 4 }
701 3 if (digit_index)
702 3 {
703 4 if (key == 8) // backspace
704 4 {
705 5 MoveCursor(CursorPosY, --CursorPosX);
706 5 putchar(' ');
707 5 MoveCursor(CursorPosY, CursorPosX);
708 5 digits[--digit_index] = 0;
709 5 }
710 4 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -