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

📄 i2c_master.s43

📁 msp430板子红外驱动
💻 S43
📖 第 1 页 / 共 3 页
字号:
        JNE	??setDCO_1
        MOV.W	#0x0, &0x166
        MOV.W	#0x0, &0x160
        RET
??setDCO_1:
        CMP.W	#0xf5, R15
        JNC	??setDCO_2
        ADD.B	#0xff, &0x56
        CMP.B	#0xff, &0x56
        JNE	??setDCO_0
        CMP.B	#0xb0, &0x57
        JEQ	??setDCO_0
        ADD.B	#0xff, &0x57
        JMP	??setDCO_0
??setDCO_2:
        ADD.B	#0x1, &0x56
        CMP.B	#0x0, &0x56
        JNE	??setDCO_0
        CMP.B	#0xb7, &0x57
        JEQ	??setDCO_0
        ADD.B	#0x1, &0x57
        JMP	??setDCO_0
        CFI EndBlock cfiBlock1

        RSEG CODE:CODE:REORDER:NOROOT(1)
sysInit:
        CFI Block cfiBlock2 Using cfiCommon0
        CFI Function sysInit
        FUNCALL sysInit, setDCO
        LOCFRAME CSTACK, 2, STACK
        FUNCALL sysInit, configI2C
        LOCFRAME CSTACK, 2, STACK
        FUNCALL sysInit, configUart1
        LOCFRAME CSTACK, 2, STACK
        FUNCALL sysInit, configWDT
        LOCFRAME CSTACK, 2, STACK
        CALL	#setDCO
        BIS.B	#0x30, &0x24
        MOV.B	#0x0, &0x23
        BIS.B	#0x30, &0x25
        BIS.B	#0x70, &0x32
        BIS.B	#0x70, &0x33
        MOV.B	#0x0, &0x29
        BIC.B	#0x1, &0x2c
        BIC.B	#0x1, &0x2b
        BIS.B	#0x1, &0x2d
        CALL	#configI2C
        CALL	#configUart1
        BR	#configWDT
        CFI EndBlock cfiBlock2

        RSEG CODE:CODE:REORDER:NOROOT(1)
configI2C:
        CFI Block cfiBlock3 Using cfiCommon0
        CFI Function configI2C
        BIS.B	#0xa, &0x1b
        MOV.B	#0x1, &0x70
        BIS.B	#0x24, &0x70
        BIC.B	#0x1, &0x70
        MOV.W	#0x30, &0x118
        MOV.B	#0x0, &0x73
        MOV.B	#0x0, &0x74
        MOV.B	#0x0, &0x75
        MOV.B	#0x60, &0x71
        BIS.B	#0x1, &0x70
        RET
        CFI EndBlock cfiBlock3

        RSEG CODE:CODE:REORDER:NOROOT(1)
configUart1:
        CFI Block cfiBlock4 Using cfiCommon0
        CFI Function configUart1
        MOV.W	#0x68, R14
        BIS.B	#0xc0, &0x1b
        BIS.B	#0x30, &0x5
        BIS.B	#0x11, &0x78
        BIS.B	#0x20, &0x79
        MOV.B	R14, R15
        MOV.B	R15, &0x7c
        MOV.W	R14, R15
        SWPB	R15
        AND.W	#0xff, R15
        MOV.B	R15, &0x7d
        MOV.B	#0x0, &0x7b
        BIC.B	#0x1, &0x78
        BIS.B	#0x10, &0x1
        RET
        CFI EndBlock cfiBlock4

        RSEG CODE:CODE:REORDER:NOROOT(1)
configWDT:
        CFI Block cfiBlock5 Using cfiCommon0
        CFI Function configWDT
        MOV.W	#0x5a1f, &0x120
        RET
        CFI EndBlock cfiBlock5

        RSEG CODE:CODE:REORDER:NOROOT(1)
iicSend:
        CFI Block cfiBlock6 Using cfiCommon0
        CFI Function iicSend
        MOV.B	0x2(SP), R15
??iicSend_0:
        BIT.B	#0x1, &0x72
        JC	??iicSend_0
        CMP.B	#0x0, R15
        JEQ	??iicSend_1
        MOV.B	#0x0, &0x50
        MOV.B	#0x0, &0x51
        MOV.B	#0x0, &rxIdx
        AND.W	#0xff, R12
        MOV.W	R12, &0x11a
        BIC.B	#0x1, &0x70
        MOV.B	#0x60, &0x71
        BIS.B	#0x1, &0x70
        MOV.B	#0x10, &0x50
        BIS.B	#0x2, &0x70
        BIS.B	#0x1, &0x71
        RET
??iicSend_1:
        MOV.B	#0x0, &0x50
        MOV.B	#0x0, &0x51
        MOV.B	#0x0, &txIdx
        AND.W	#0xff, R12
        MOV.W	R12, &0x11a
        BIC.B	#0x1, &0x70
        MOV.B	#0x20, &0x71
        BIS.B	#0x1, &0x70
        MOV.B	R14, &0x52
        MOV.B	#0x20, &0x50
        BIS.B	#0x2, &0x70
        BIS.B	#0xb, &0x71
        RET
        CFI EndBlock cfiBlock6

        RSEG CODE:CODE:REORDER:NOROOT(1)
main:
        CFI Block cfiBlock7 Using cfiCommon0
        CFI Function main
        FUNCALL main, sysInit
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, txStr
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, sw1Options
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, sw2Options
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, txStr
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, getEvent
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, iicSend
        LOCFRAME CSTACK, 6, STACK
        FUNCALL main, iicSend
        LOCFRAME CSTACK, 8, STACK
        FUNCALL main, txStr
        LOCFRAME CSTACK, 8, STACK
        FUNCALL main, txStr
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, txByte
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, txStr
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, getInputState
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, iicSend
        LOCFRAME CSTACK, 6, STACK
        FUNCALL main, iicSend
        LOCFRAME CSTACK, 8, STACK
        FUNCALL main, txStr
        LOCFRAME CSTACK, 8, STACK
        FUNCALL main, txStr
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, txByte
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, txStr
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, getIRData
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, iicSend
        LOCFRAME CSTACK, 6, STACK
        FUNCALL main, iicSend
        LOCFRAME CSTACK, 8, STACK
        FUNCALL main, txStr
        LOCFRAME CSTACK, 8, STACK
        FUNCALL main, txStr
        LOCFRAME CSTACK, 4, STACK
        FUNCALL main, txByte
        LOCFRAME CSTACK, 4, STACK
        PUSH.W	R10
        CFI R10 Frame(CFA, -4)
        CFI CFA SP+4
        CALL	#sysInit
        MOV.W	#`?<Constant "\\033[2JI2C Master\\r\\n\\n">`, R12
        CALL	#txStr
??main_0:
        CMP.B	#0x0, &Event
        JNE	??main_4
        BIS.W	#0x18, SR
        NOP
??main_4:
        BIT.B	#0x1, &Event
        JNC	??main_5
        BIC.B	#0x1, &Event
        CALL	#sw1Options
??main_5:
        BIT.B	#0x2, &Event
        JNC	??main_6
        BIC.B	#0x2, &Event
        CALL	#sw2Options
??main_6:
        BIT.B	#0x4, &Event
        JNC	??main_0
        BIC.B	#0x4, &Event
        MOV.W	#`?<Constant "\\r\\n\\nInt - Get Interrup...">`, R12
        CALL	#txStr
        CALL	#getEvent
        PUSH.B	#0x0
        CFI CFA SP+6
        MOV.B	&TX_DATA, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        PUSH.B	#0x1
        CFI CFA SP+8
        MOV.B	#0x0, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        MOV.W	#`?<Constant "\\r\\nInterrupt Event:">`, R12
        CALL	#txStr
        MOV.B	#0x1, R10
        ADD.W	#0x4, SP
        CFI CFA SP+4
??main_1:
        CMP.B	&RX_DATA, R10
        JC	??main_7
        MOV.W	#`?<Constant " ">`, R12
        CALL	#txStr
        AND.W	#0xff, R10
        MOV.B	RX_DATA(R10), R12
        CALL	#txByte
        ADD.B	#0x1, R10
        JMP	??main_1
??main_7:
        BIT.B	#0x1, &RX_DATA + 2
        JNC	??main_8
        MOV.W	#`?<Constant "\\r\\nInt - Get Input Pin...">`, R12
        CALL	#txStr
        CALL	#getInputState
        PUSH.B	#0x0
        CFI CFA SP+6
        MOV.B	&TX_DATA, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        PUSH.B	#0x1
        CFI CFA SP+8
        MOV.B	#0x0, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        MOV.W	#`?<Constant "\\r\\nPin State:">`, R12
        CALL	#txStr
        MOV.B	#0x1, R10
        ADD.W	#0x4, SP
        CFI CFA SP+4
??main_2:
        CMP.B	&RX_DATA, R10
        JC	??main_8
        MOV.W	#`?<Constant " ">`, R12
        CALL	#txStr
        AND.W	#0xff, R10
        MOV.B	RX_DATA(R10), R12
        CALL	#txByte
        ADD.B	#0x1, R10
        JMP	??main_2
??main_8:
        BIT.B	#0x2, &RX_DATA + 2
        JNC	??main_0
        MOV.W	#`?<Constant "\\r\\nInt - Get IR Data">`, R12
        CALL	#txStr
        CALL	#getIRData
        PUSH.B	#0x0
        CFI CFA SP+6
        MOV.B	&TX_DATA, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        PUSH.B	#0x1
        CFI CFA SP+8
        MOV.B	#0x0, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        MOV.W	#`?<Constant "\\r\\nIR Data:">`, R12
        CALL	#txStr
        MOV.B	#0x1, R10
        ADD.W	#0x4, SP
        CFI CFA SP+4
??main_3:
        CMP.B	&RX_DATA, R10
        JC	??main_0
        MOV.W	#`?<Constant " ">`, R12
        CALL	#txStr
        AND.W	#0xff, R10
        MOV.B	RX_DATA(R10), R12
        CALL	#txByte
        ADD.B	#0x1, R10
        JMP	??main_3
        CFI EndBlock cfiBlock7

        RSEG CODE:CODE:REORDER:NOROOT(1)
I2C_IV:
        CFI Block cfiBlock8 Using cfiCommon1
        CFI Function I2C_IV
        PUSH.W	R15
        CFI R15 Frame(CFA, -6)
        CFI CFA SP+6
        PUSH.W	R14
        CFI R14 Frame(CFA, -8)
        CFI CFA SP+8
        MOV.W	&0x11c, R15
        SUB.W	#0xa, R15
        JEQ	??I2C_IV_0
        SUB.W	#0x2, R15
        JEQ	??I2C_IV_1
        JMP	??I2C_IV_2
??I2C_IV_0:
        MOV.B	&rxIdx, R15
        AND.W	#0xff, R15
        MOV.B	&0x76, RX_DATA(R15)
        ADD.B	#0x1, &rxIdx
        CMP.B	#0x1, &rxIdx
        JNE	??I2C_IV_3
        MOV.B	&RX_DATA, R14
        ADD.B	#0xff, R14
        MOV.B	R14, &rxMsgLen
??I2C_IV_3:
        MOV.B	&rxMsgLen, R14
        ADD.B	#0xff, R14
        MOV.B	R14, &rxMsgLen
        CMP.B	#0x0, R14
        JNE	??I2C_IV_2
        BIS.B	#0x2, &0x71
        JMP	??I2C_IV_2
??I2C_IV_1:
        MOV.B	&txIdx, R15
        AND.W	#0xff, R15
        MOV.B	TX_DATA(R15), &0x76
        ADD.B	#0x1, &txIdx
??I2C_IV_2:
        POP.W	R14
        CFI R14 SameValue
        CFI CFA SP+6
        POP.W	R15
        CFI R15 SameValue
        CFI CFA SP+4
        RETI
        CFI EndBlock cfiBlock8

        RSEG CODE:CODE:REORDER:NOROOT(1)
port1_ISR:
        CFI Block cfiBlock9 Using cfiCommon1
        CFI Function port1_ISR
        BIT.B	#0x10, &0x23
        JNC	??port1_ISR_0
        BIC.B	#0x10, &0x25
        BIC.B	#0x10, &0x23
        MOV.B	#0x14, &debounceCnt
        BIS.B	#0x1, &0x0
??port1_ISR_0:
        BIT.B	#0x20, &0x23
        JNC	??port1_ISR_1
        BIC.B	#0x20, &0x25
        BIC.B	#0x20, &0x23
        MOV.B	#0x14, &debounceCnt + 1
        BIS.B	#0x1, &0x0
??port1_ISR_1:
        RETI
        CFI EndBlock cfiBlock9

        RSEG CODE:CODE:REORDER:NOROOT(1)
port2_ISR:
        CFI Block cfiBlock10 Using cfiCommon1
        CFI Function port2_ISR
        BIT.B	#0x1, &0x2b
        JNC	??port2_ISR_0
        BIC.B	#0x1, &0x2d
        BIC.B	#0x1, &0x2b
        BIS.B	#0x4, &Event
        BIC.W	#0x10, 0x0(SP)
??port2_ISR_0:
        RETI
        CFI EndBlock cfiBlock10

        RSEG CODE:CODE:REORDER:NOROOT(1)
wdt_ISR:
        CFI Block cfiBlock11 Using cfiCommon1
        CFI Function wdt_ISR
        PUSH.W	R15
        CFI R15 Frame(CFA, -6)
        CFI CFA SP+6
        PUSH.W	R14
        CFI R14 Frame(CFA, -8)
        CFI CFA SP+8
        MOV.B	#0x0, R14
        CMP.B	#0x1, &debounceCnt
        JNC	??wdt_ISR_0
        MOV.B	&debounceCnt, R15
        ADD.B	#0xff, R15
        MOV.B	R15, &debounceCnt
        CMP.B	#0x0, R15
        JNE	??wdt_ISR_1
        BIC.B	#0x10, &0x23
        BIS.B	#0x10, &0x25
        BIS.B	#0x1, &Event
        BIC.W	#0x10, 0x4(SP)
        JMP	??wdt_ISR_0
??wdt_ISR_1:
        MOV.B	#0x1, R14
??wdt_ISR_0:
        CMP.B	#0x1, &debounceCnt + 1
        JNC	??wdt_ISR_2
        MOV.B	&debounceCnt + 1, R15
        ADD.B	#0xff, R15
        MOV.B	R15, &debounceCnt + 1
        CMP.B	#0x0, R15
        JNE	??wdt_ISR_3
        BIC.B	#0x20, &0x23
        BIS.B	#0x20, &0x25
        BIS.B	#0x2, &Event
        BIC.W	#0x10, 0x4(SP)
        JMP	??wdt_ISR_2
??wdt_ISR_3:
        MOV.B	#0x1, R14
??wdt_ISR_2:
        CMP.B	#0x0, R14
        JNE	??wdt_ISR_4
        BIC.B	#0x1, &0x0
??wdt_ISR_4:
        POP.W	R14
        CFI R14 SameValue
        CFI CFA SP+6
        POP.W	R15
        CFI R15 SameValue
        CFI CFA SP+4
        RETI
        CFI EndBlock cfiBlock11

        RSEG CODE:CODE:REORDER:NOROOT(1)
sw1Options:
        CFI Block cfiBlock12 Using cfiCommon0
        CFI Function sw1Options
        MOV.B	&0x1c, R12
        AND.B	#0xff, R12
        CALL	#?ShiftRight16u_4
        MOV.B	R12, R14
        RET
        CFI EndBlock cfiBlock12

        RSEG CODE:CODE:REORDER:NOROOT(1)
sw2Options:
        CFI Block cfiBlock13 Using cfiCommon0
        CFI Function sw2Options
        FUNCALL sw2Options, txStr
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, getRTC
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, iicSend
        LOCFRAME CSTACK, 8, STACK
        FUNCALL sw2Options, iicSend
        LOCFRAME CSTACK, 10, STACK
        FUNCALL sw2Options, txStr
        LOCFRAME CSTACK, 10, STACK
        FUNCALL sw2Options, txStr
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, txByte
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, txStr
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, setRTC
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, iicSend
        LOCFRAME CSTACK, 8, STACK
        FUNCALL sw2Options, txStr
        LOCFRAME CSTACK, 8, STACK
        FUNCALL sw2Options, txStr
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, getIRData
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, iicSend
        LOCFRAME CSTACK, 8, STACK
        FUNCALL sw2Options, iicSend
        LOCFRAME CSTACK, 10, STACK

⌨️ 快捷键说明

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