📄 i2c_master.lst
字号:
625 return;
626 }
627 }
628 TXBUF1 = *pStr; // Transmit character
629 }
630 }
631
632 //
633 // UART Function - transmit byte as ASCII character
634 //
635 void txByte(unsigned char byte)
636 {
637 unsigned char x;
638 char str[3];
639
640 str[0] = byte >> 4;
641 str[1] = (byte & 0x0f);
642 str[2] = 0;
643
644 for(x = 0; x < 2; x++)
645 {
646 if( str[x] > 9 )
647 {
648 str[x] += 0x37;
649 }
650 else
651 {
652 str[x] += 0x30;
653 }
654 }
655
656 txStr(str);
657 }
658
659
660 //
661 // UART Function - transmit word as ASCII characters
662 //
663 void txWord(unsigned int word)
664 {
665 txByte(word >> 8);
666 txByte(word & 0x00ff);
667 }
668
669
670 //
671 // I2C Message - Get RTC Parameters
672 //
673 void getRTC(void)
674 {
675 TX_DATA[0] = 2; // Set message length
676 TX_DATA[1] = GET_RTC_PARAMS; // Set message ID
677 }
678
679
680 //
681 // I2C Message - Set RTC Parameters
682 //
683 void setRTC(void)
684 {
685 TX_DATA[0] = 9; // Set message length
686 TX_DATA[1] = SET_RTC_PARAMS; // Set message ID
687 TX_DATA[2] = 0x05; // Set year LSB (BCD)
688 TX_DATA[3] = 0x20; // Set year MSB (BCD)
689 TX_DATA[4] = 0x06; // Set month (BCD)
690 TX_DATA[5] = 0x01; // Set day (BCD)
691 TX_DATA[6] = 0x12; // Set hour (BCD)
692 TX_DATA[7] = 0x00; // Set minute (BCD)
693 TX_DATA[8] = 0x00; // Set second (BCD)
694 }
695
696
697 //
698 // I2C Message - Get IR Data
699 //
700 void getIRData(void)
701 {
702 TX_DATA[0] = 2; // Set message length
703 TX_DATA[1] = SEND_IR_DATA; // Set message ID
704 }
705
706
707 //
708 // I2C Message - Get Last IR Value
709 //
710 void getIRVal(void)
711 {
712 TX_DATA[0] = 2; // Set message length
713 TX_DATA[1] = GET_LAST_IR_VALUE; // Set message ID
714 }
715
716
717 //
718 // I2C Message - Get Port Pin Input State
719 //
720 void getInputState(void)
721 {
722 TX_DATA[0] = 2; // Set message length
723 TX_DATA[1] = GET_INPUT_STATE; // Set message ID
724 }
725
726
727 //
728 // I2C Message - Get Event
729 //
730 void getEvent(void)
731 {
732 TX_DATA[0] = 2; // Set message length
733 TX_DATA[1] = GET_EVENT; // Set message ID
734 }
Maximum stack usage in bytes:
Function CSTACK
-------- ------
I2C_IV 8
__low_level_init 2
configI2C 2
configUart1 2
configWDT 2
getEvent 2
getIRData 2
getIRVal 2
getInputState 2
getRTC 2
iicSend 2
main 8
-> sysInit 4
-> txStr 4
-> sw1Options 4
-> sw2Options 4
-> txStr 4
-> getEvent 4
-> iicSend 6
-> iicSend 8
-> txStr 8
-> txStr 4
-> txByte 4
-> txStr 4
-> getInputState 4
-> iicSend 6
-> iicSend 8
-> txStr 8
-> txStr 4
-> txByte 4
-> txStr 4
-> getIRData 4
-> iicSend 6
-> iicSend 8
-> txStr 8
-> txStr 4
-> txByte 4
port1_ISR 4
port2_ISR 4
setDCO 2
setRTC 2
sw1Options 2
sw2Options 10
-> txStr 6
-> getRTC 6
-> iicSend 8
-> iicSend 10
-> txStr 10
-> txStr 6
-> txByte 6
-> txStr 6
-> setRTC 6
-> iicSend 8
-> txStr 8
-> txStr 6
-> getIRData 6
-> iicSend 8
-> iicSend 10
-> txStr 10
-> txStr 6
-> txByte 6
-> txStr 6
-> getIRVal 6
-> iicSend 8
-> iicSend 10
-> txStr 10
-> txStr 6
-> txByte 6
-> txStr 6
-> getInputState 6
-> iicSend 8
-> iicSend 10
-> txStr 10
-> txStr 6
-> txByte 6
sysInit 2
-> setDCO 2
-> configI2C 2
-> configUart1 2
-> configWDT 2
txByte 6
-> txStr 6
txStr 2
txWord 4
-> txByte 4
-> txByte 4
usart1_Rx_ISR 6
wdt_ISR 8
Segment part sizes:
Function/Label Bytes
-------------- -----
IE1 1
IE2 1
IFG2 1
ME2 1
WDTCTL 2
P1IFG 1
P1IES 1
P1IE 1
P2OUT 1
P2IFG 1
P2IES 1
P2IE 1
P3SEL 1
P4IN 1
P5DIR 1
P5SEL 1
U0CTL 1
U0TCTL 1
U0RCTL 1
U0MCTL 1
U0BR0 1
U0BR1 1
U1CTL 1
U1TCTL 1
U1MCTL 1
U1BR0 1
U1BR1 1
U1RXBUF 1
U1TXBUF 1
I2CIE 1
I2CIFG 1
I2CNDAT 1
I2COA 2
I2CSA 2
I2CIV 2
TACTL 2
TACCTL2 2
TACCR2 2
DCOCTL 1
BCSCTL1 1
rxMsgLen 1
debounceCnt 3
Event 1
rxIdx 1
RX_DATA 32
txIdx 1
TX_DATA 32
__low_level_init 10
setDCO 110
sysInit 60
configI2C 50
configUart1 62
configWDT 8
iicSend 120
main 316
I2C_IV 98
port1_ISR 62
port2_ISR 26
wdt_ISR 112
sw1Options 14
sw2Options 404
usart1_Rx_ISR 24
txStr 36
txByte 96
txWord 26
getRTC 10
setRTC 48
getIRData 10
getIRVal 12
getInputState 10
getEvent 12
??INTVEC 2 2
??INTVEC 6 2
??INTVEC 8 2
??INTVEC 16 2
??INTVEC 20 2
?<Constant "\r\nPort Pin:"> 12
?<Constant "\r\nPin State:"> 13
?<Constant "\r\nInt - Get Input Pin...">
28
?<Constant " "> 2
?<Constant "\r\nInterrupt Event:">
19
?<Constant "\r\n\nInt - Get Interrup...">
29
?<Constant "\033[2JI2C Master\r\n\n">
18
?<Constant "\r\nIR Data:"> 11
?<Constant "\r\nGet Port Pin State">
21
?<Constant "\r\nGet Last IR Value">
20
?<Constant "\r\nGet IR Data"> 14
?<Constant "...done."> 9
?<Constant "\r\nSet RTC Parameters">
21
?<Constant "\r\nRTC Parameters:">
18
?<Constant "\r\nGet RTC Parameters">
21
?<Constant "\r\nInt - Get IR Data">
20
_A_U0RXBUF 2
1 736 bytes in segment CODE
49 bytes in segment DATA16_AN
276 bytes in segment DATA16_C
71 bytes in segment DATA16_Z
10 bytes in segment INTVEC
1 736 bytes of CODE memory
276 bytes of CONST memory (+ 10 bytes shared)
71 bytes of DATA memory (+ 49 bytes shared)
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -