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

📄 i2c_master.s43

📁 msp430板子红外驱动
💻 S43
📖 第 1 页 / 共 3 页
字号:
//////////////////////////////////////////////////////////////////////////////
//                                                                           /
// IAR MSP430 C/C++ Compiler V3.30A/W32                04/Jun/2005  12:04:35 /
// Copyright 1996-2005 IAR Systems. All rights reserved.                     /
//                                                                           /
//    __rt_version  =  2                                                     /
//    __double_size =  32                                                    /
//    __reg_r4      =  free                                                  /
//    __reg_r5      =  free                                                  /
//    __pic         =  no                                                    /
//    __core        =  64kb                                                  /
//    Source file   =  C:\Work\Assignments\DaVinci_EVM\Workspace\c\i2c_maste /
//                     r.c                                                   /
//    Command line  =  -lcN C:\Work\Assignments\DaVinci_EVM\Workspace\Debug\ /
//                     List\ -la C:\Work\Assignments\DaVinci_EVM\Workspace\D /
//                     ebug\List\ -o C:\Work\Assignments\DaVinci_EVM\Workspa /
//                     ce\Debug\Obj\ -z2 --no_cse --no_unroll --no_inline    /
//                     --no_code_motion --no_tbaa --debug -e --double=32 -I  /
//                     C:\Work\Assignments\DaVinci_EVM\Workspace\INC\ -I     /
//                     "C:\Program Files\IAR Systems\V330A_Full\430\INC\"    /
//                     -I "C:\Program Files\IAR Systems\V330A_Full\430\INC\C /
//                     LIB\" C:\Work\Assignments\DaVinci_EVM\Workspace\c\i2c /
//                     _master.c                                             /
//    List file     =  C:\Work\Assignments\DaVinci_EVM\Workspace\Debug\List\ /
//                     i2c_master.s43                                        /
//                                                                           /
//                                                                           /
//////////////////////////////////////////////////////////////////////////////

        NAME i2c_master

        RTMODEL "__core", "64kb"
        RTMODEL "__double_size", "32"
        RTMODEL "__pic", "no"
        RTMODEL "__reg_r4", "free"
        RTMODEL "__reg_r5", "free"
        RTMODEL "__rt_version", "2"

        RSEG CSTACK:DATA:SORT:NOROOT(1)

        EXTERN ?cstart_call_low_level_init
        EXTERN ?SwitchKey16
        EXTERN ?ShiftRight16u_4
        EXTERN ?SwitchKey8
        EXTERN ?cstart_init_zero
        EXTERN ?longjmp_r4
        EXTERN ?longjmp_r5
        EXTERN ?setjmp_r4
        EXTERN ?setjmp_r5

        PUBWEAK `??INTVEC 16`
        PUBWEAK `??INTVEC 2`
        PUBWEAK `??INTVEC 20`
        PUBWEAK `??INTVEC 6`
        PUBWEAK `??INTVEC 8`
        PUBWEAK ?setjmp_save_r4
        PUBWEAK ?setjmp_save_r5
        PUBWEAK BCSCTL1
        PUBWEAK DCOCTL
        PUBLIC Event
        PUBWEAK I2CIE
        PUBWEAK I2CIFG
        PUBWEAK I2CIV
        PUBWEAK I2CNDAT
        PUBWEAK I2COA
        PUBWEAK I2CSA
        PUBLIC I2C_IV
        FUNCTION I2C_IV,0233H
        LOCFRAME CSTACK, 8, STACK
        PUBWEAK IE1
        PUBWEAK IE2
        PUBWEAK IFG2
        PUBWEAK ME2
        PUBWEAK P1IE
        PUBWEAK P1IES
        PUBWEAK P1IFG
        PUBWEAK P2IE
        PUBWEAK P2IES
        PUBWEAK P2IFG
        PUBWEAK P2OUT
        PUBWEAK P3SEL
        PUBWEAK P4IN
        PUBWEAK P5DIR
        PUBWEAK P5SEL
        PUBLIC RX_DATA
        PUBWEAK TACCR2
        PUBWEAK TACCTL2
        PUBWEAK TACTL
        PUBLIC TX_DATA
        PUBWEAK U0BR0
        PUBWEAK U0BR1
        PUBWEAK U0CTL
        PUBWEAK U0MCTL
        PUBWEAK U0RCTL
        PUBWEAK U0TCTL
        PUBWEAK U1BR0
        PUBWEAK U1BR1
        PUBWEAK U1CTL
        PUBWEAK U1MCTL
        PUBWEAK U1RXBUF
        PUBWEAK U1TCTL
        PUBWEAK U1TXBUF
        PUBWEAK WDTCTL
        PUBWEAK _A_U0RXBUF
        PUBLIC __low_level_init
        FUNCTION __low_level_init,0203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC configI2C
        FUNCTION configI2C,0203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC configUart1
        FUNCTION configUart1,0203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC configWDT
        FUNCTION configWDT,0203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC debounceCnt
        PUBLIC getEvent
        FUNCTION getEvent,0203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC getIRData
        FUNCTION getIRData,0203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC getIRVal
        FUNCTION getIRVal,0203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC getInputState
        FUNCTION getInputState,0203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC getRTC
        FUNCTION getRTC,0203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC iicSend
        FUNCTION iicSend,0203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC main
        FUNCTION main,021a03H
        LOCFRAME CSTACK, 8, STACK
        PUBLIC port1_ISR
        FUNCTION port1_ISR,0233H
        LOCFRAME CSTACK, 4, STACK
        PUBLIC port2_ISR
        FUNCTION port2_ISR,0233H
        LOCFRAME CSTACK, 4, STACK
        PUBLIC rxIdx
        PUBLIC rxMsgLen
        PUBLIC setDCO
        FUNCTION setDCO,0203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC setRTC
        FUNCTION setRTC,0203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC sw1Options
        FUNCTION sw1Options,0203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC sw2Options
        FUNCTION sw2Options,021203H
        LOCFRAME CSTACK, 10, STACK
        PUBLIC sysInit
        FUNCTION sysInit,021203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC txByte
        FUNCTION txByte,021203H
        LOCFRAME CSTACK, 6, STACK
        PUBLIC txIdx
        PUBLIC txStr
        FUNCTION txStr,0203H
        LOCFRAME CSTACK, 2, STACK
        PUBLIC txWord
        FUNCTION txWord,021203H
        LOCFRAME CSTACK, 4, STACK
        PUBLIC usart1_Rx_ISR
        FUNCTION usart1_Rx_ISR,0233H
        LOCFRAME CSTACK, 6, STACK
        PUBLIC wdt_ISR
        FUNCTION wdt_ISR,0233H
        LOCFRAME CSTACK, 8, STACK
        
        CFI Names cfiNames0
        CFI StackFrame CFA SP DATA
        CFI Resource PC:16, SP:16, SR:16, R4:16, R5:16, R6:16, R7:16, R8:16
        CFI Resource R9:16, R10:16, R11:16, R12:16, R13:16, R14:16, R15:16
        CFI EndNames cfiNames0
        
        CFI Common cfiCommon0 Using cfiNames0
        CFI CodeAlign 2
        CFI DataAlign 2
        CFI ReturnAddress PC CODE
        CFI CFA SP+2
        CFI PC Frame(CFA, -2)
        CFI SR Undefined
        CFI R4 SameValue
        CFI R5 SameValue
        CFI R6 SameValue
        CFI R7 SameValue
        CFI R8 SameValue
        CFI R9 SameValue
        CFI R10 SameValue
        CFI R11 SameValue
        CFI R12 Undefined
        CFI R13 Undefined
        CFI R14 Undefined
        CFI R15 Undefined
        CFI EndCommon cfiCommon0
        
        
        CFI Common cfiCommon1 Using cfiNames0
        CFI CodeAlign 2
        CFI DataAlign 2
        CFI ReturnAddress PC CODE
        CFI CFA SP+4
        CFI PC Frame(CFA, -2)
        CFI SR Frame(CFA, -4)
        CFI R4 SameValue
        CFI R5 SameValue
        CFI R6 SameValue
        CFI R7 SameValue
        CFI R8 SameValue
        CFI R9 SameValue
        CFI R10 SameValue
        CFI R11 SameValue
        CFI R12 SameValue
        CFI R13 SameValue
        CFI R14 SameValue
        CFI R15 SameValue
        CFI EndCommon cfiCommon1
        

        ASEGN DATA16_AN:DATA:NOROOT,00H
// unsigned char volatile __data16 IE1
IE1:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,01H
// unsigned char volatile __data16 IE2
IE2:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,03H
// unsigned char volatile __data16 IFG2
IFG2:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,05H
// unsigned char volatile __data16 ME2
ME2:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,0120H
// unsigned short volatile __data16 WDTCTL
WDTCTL:
        DS8 2

        ASEGN DATA16_AN:DATA:NOROOT,023H
// unsigned char volatile __data16 P1IFG
P1IFG:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,024H
// unsigned char volatile __data16 P1IES
P1IES:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,025H
// unsigned char volatile __data16 P1IE
P1IE:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,029H
// unsigned char volatile __data16 P2OUT
P2OUT:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,02bH
// unsigned char volatile __data16 P2IFG
P2IFG:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,02cH
// unsigned char volatile __data16 P2IES
P2IES:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,02dH
// unsigned char volatile __data16 P2IE
P2IE:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,01bH
// unsigned char volatile __data16 P3SEL
P3SEL:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,01cH
// unsigned char const volatile __data16 P4IN
P4IN:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,032H
// unsigned char volatile __data16 P5DIR
P5DIR:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,033H
// unsigned char volatile __data16 P5SEL
P5SEL:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,070H
// unsigned char volatile __data16 U0CTL
U0CTL:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,071H
// unsigned char volatile __data16 U0TCTL
U0TCTL:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,072H
// unsigned char volatile __data16 U0RCTL
U0RCTL:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,073H
// unsigned char volatile __data16 U0MCTL
U0MCTL:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,074H
// unsigned char volatile __data16 U0BR0
U0BR0:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,075H
// unsigned char volatile __data16 U0BR1
U0BR1:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,078H
// unsigned char volatile __data16 U1CTL
U1CTL:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,079H
// unsigned char volatile __data16 U1TCTL
U1TCTL:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,07bH
// unsigned char volatile __data16 U1MCTL
U1MCTL:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,07cH
// unsigned char volatile __data16 U1BR0
U1BR0:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,07dH
// unsigned char volatile __data16 U1BR1
U1BR1:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,07eH
// unsigned char const volatile __data16 U1RXBUF
U1RXBUF:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,07fH
// unsigned char volatile __data16 U1TXBUF
U1TXBUF:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,050H
// unsigned char volatile __data16 I2CIE
I2CIE:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,051H
// unsigned char volatile __data16 I2CIFG
I2CIFG:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,052H
// unsigned char volatile __data16 I2CNDAT
I2CNDAT:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,0118H
// unsigned short volatile __data16 I2COA
I2COA:
        DS8 2

        ASEGN DATA16_AN:DATA:NOROOT,011aH
// unsigned short volatile __data16 I2CSA
I2CSA:
        DS8 2

        ASEGN DATA16_AN:DATA:NOROOT,011cH
// unsigned short const volatile __data16 I2CIV
I2CIV:
        DS8 2

        ASEGN DATA16_AN:DATA:NOROOT,0160H
// unsigned short volatile __data16 TACTL
TACTL:
        DS8 2

        ASEGN DATA16_AN:DATA:NOROOT,0166H
// unsigned short volatile __data16 TACCTL2
TACCTL2:
        DS8 2

        ASEGN DATA16_AN:DATA:NOROOT,0176H
// unsigned short volatile __data16 TACCR2
TACCR2:
        DS8 2

        ASEGN DATA16_AN:DATA:NOROOT,056H
// unsigned char volatile __data16 DCOCTL
DCOCTL:
        DS8 1

        ASEGN DATA16_AN:DATA:NOROOT,057H
// unsigned char volatile __data16 BCSCTL1
BCSCTL1:
        DS8 1

        RSEG DATA16_Z:DATA:SORT:NOROOT(0)
        REQUIRE ?cstart_init_zero
rxMsgLen:
        DS8 1

        RSEG DATA16_Z:DATA:SORT:NOROOT(0)
        REQUIRE ?cstart_init_zero
debounceCnt:
        DS8 3

        RSEG DATA16_Z:DATA:SORT:NOROOT(0)
        REQUIRE ?cstart_init_zero
Event:
        DS8 1

        RSEG DATA16_Z:DATA:SORT:NOROOT(0)
        REQUIRE ?cstart_init_zero
rxIdx:
        DS8 1

        RSEG DATA16_Z:DATA:SORT:NOROOT(0)
        REQUIRE ?cstart_init_zero
RX_DATA:
        DS8 32

        RSEG DATA16_Z:DATA:SORT:NOROOT(0)
        REQUIRE ?cstart_init_zero
txIdx:
        DS8 1

        RSEG DATA16_Z:DATA:SORT:NOROOT(0)
        REQUIRE ?cstart_init_zero
TX_DATA:
        DS8 32

        RSEG CODE:CODE:REORDER:ROOT(1)
__low_level_init:
        CFI Block cfiBlock0 Using cfiCommon0
        CFI Function __low_level_init
        REQUIRE	?cstart_call_low_level_init
        MOV.W	#0x5a80, &0x120
        MOV.W	#0x1, R12
        RET
        CFI EndBlock cfiBlock0

        RSEG CODE:CODE:REORDER:NOROOT(1)
setDCO:
        CFI Block cfiBlock1 Using cfiCommon0
        CFI Function setDCO
        MOV.W	#0x0, R14
        BIS.B	#0x30, &0x57
        MOV.W	#0x5100, &0x166
        MOV.W	#0x224, &0x160
??setDCO_0:
        BIT.W	#0x1, &0x166
        JNC	??setDCO_0
        BIC.W	#0x1, &0x166
        MOV.W	&0x176, R15
        SUB.W	R14, R15
        MOV.W	&0x176, R14
        CMP.W	#0xf4, R15

⌨️ 快捷键说明

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