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

📄 yt_temep.s

📁 完成数据的采集
💻 S
📖 第 1 页 / 共 4 页
字号:
        BICS     R0,R0,R1
        LDR      R1,[R4, #+8]
        STR      R0,[R1, #+12]
        ADDS     R7,R7,#+1
        B.N      ??Read_SHT_2
??Read_SHT_3:
        MOVS     R3,#+16
        MOVS     R2,#+1
        MOVS     R1,#+1
        LDRB     R0,[R4, #+4]
        LSLS     R1,R1,R0
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        LDR      R0,[R4, #+0]
        BL       GPIO_InOut
        LDR      R0,[R4, #+0]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+4]
        LSLS     R1,R1,R2
        BICS     R0,R0,R1
        LDR      R1,[R4, #+0]
        STR      R0,[R1, #+12]
        MOVS     R0,#+20
        BL       delay
        LDR      R0,[R4, #+8]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+12]
        LSLS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR      R0,[R4, #+8]
        STR      R1,[R0, #+12]
        MOVS     R0,#+20
        BL       delay
        LDR      R0,[R4, #+8]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+12]
        LSLS     R1,R1,R2
        BICS     R0,R0,R1
        LDR      R1,[R4, #+8]
        STR      R0,[R1, #+12]
        MOVS     R0,#+20
        BL       delay
        ADDS     R5,R5,#+1
        B.N      ??Read_SHT_0
??Read_SHT_1:
        MOVS     R3,#+16
        MOVS     R2,#+1
        MOVS     R1,#+1
        LDRB     R0,[R4, #+4]
        LSLS     R1,R1,R0
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        LDR      R0,[R4, #+0]
        BL       GPIO_InOut
        MOVS     R0,#+20
        BL       delay
        LDR      R0,[R4, #+0]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+4]
        LSLS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR      R0,[R4, #+0]
        STR      R1,[R0, #+12]
        MOVS     R0,#+20
        BL       delay
        LDR      R0,[R4, #+8]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+12]
        LSLS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR      R0,[R4, #+8]
        STR      R1,[R0, #+12]
        MOVS     R0,#+20
        BL       delay
        LDR      R0,[R4, #+8]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+12]
        LSLS     R1,R1,R2
        BICS     R0,R0,R1
        LDR      R1,[R4, #+8]
        STR      R0,[R1, #+12]
        MOVS     R0,#+128
        MOVS     R7,R0
        MOV      R0,R8
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        CMP      R0,#+0
        BNE.N    ??Read_SHT_5
        MOVS     R1,R7
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        MOVS     R0,#+3
        BL       crc8
        MOVS     R7,R0
        B.N      ??Read_SHT_6
??Read_SHT_5:
        MOVS     R1,R7
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        MOVS     R0,#+5
        BL       crc8
        MOVS     R7,R0
??Read_SHT_6:
        LSRS     R0,R6,#+16
        STRB     R0,[SP, #+0]
        MOVS     R1,R7
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        LDRB     R0,[SP, #+0]
        BL       crc8
        MOVS     R7,R0
        LSRS     R0,R6,#+8
        STRB     R0,[SP, #+0]
        MOVS     R1,R7
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        LDRB     R0,[SP, #+0]
        BL       crc8
        MOVS     R7,R0
        MOVS     R0,R7
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BL       swapcrc
        MOVS     R7,R0
        MOVS     R0,R6
        STRB     R0,[SP, #+0]
        LDRB     R0,[SP, #+0]
        UXTB     R7,R7            ;; ZeroExtS R7,R7,#+24,#+24
        CMP      R7,R0
        BNE.N    ??Read_SHT_7
        LSRS     R6,R6,#+8
        MOV      R0,R8
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        CMP      R0,#+0
        BNE.N    ??Read_SHT_8
        MOVS     R1,#+0
        MOVS     R0,R6
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        BL       account_Temp
        STRB     R0,[R4, #+13]
        B.N      ??Read_SHT_9
??Read_SHT_8:
        MOVS     R1,#+0
        MOVS     R0,R6
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        BL       account_RH
        STRB     R0,[R4, #+14]
??Read_SHT_9:
        MOVS     R0,#+0
        B.N      ??Read_SHT_10
??Read_SHT_7:
        MOVS     R0,#+255
??Read_SHT_10:
        ADD      SP,SP,#+8
        POP      {R4-R8,PC}       ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
crc8:
        SUB      SP,SP,#+8
        MOVS     R2,R0
        MOVS     R0,R1
        EORS     R0,R0,R2
        MOVS     R3,#+0
        MOVS     R1,R3
??crc8_0:
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        CMP      R1,#+8
        BCS.N    ??crc8_1
        STRB     R0,[SP, #+0]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        LSLS     R0,R0,#+1
        LDRB     R3,[SP, #+0]
        LSLS     R3,R3,#+24
        BPL.N    ??crc8_2
        EORS     R0,R0,#0x31
??crc8_2:
        ADDS     R1,R1,#+1
        B.N      ??crc8_0
??crc8_1:
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        ADD      SP,SP,#+8
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
swapcrc:
        PUSH     {R0,LR}
        MOVS     R1,R0
        MOVS     R3,#+0
        MOVS     R0,R3
        MOVS     R3,#+128
        MOVS     R2,R3
??swapcrc_0:
        UXTB     R2,R2            ;; ZeroExtS R2,R2,#+24,#+24
        CMP      R2,#+1
        BCC.N    ??swapcrc_1
        TST      R1,R2
        BEQ.N    ??swapcrc_2
        ORRS     R0,R0,#0x80
??swapcrc_2:
        UXTB     R2,R2            ;; ZeroExtS R2,R2,#+24,#+24
        CMP      R2,#+1
        BEQ.N    ??swapcrc_1
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        LSRS     R0,R0,#+1
        LSLS     R0,R0,#+25       ;; ZeroExtS R0,R0,#+25,#+25
        LSRS     R0,R0,#+25
        UXTB     R2,R2            ;; ZeroExtS R2,R2,#+24,#+24
        MOVS     R3,#+2
        SDIV     R2,R2,R3
        B.N      ??swapcrc_0
??swapcrc_1:
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        ADD      SP,SP,#+4
        POP      {PC}             ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
account_Temp:
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        CMP      R1,#+1
        BNE.N    ??account_Temp_0
        LSLS     R0,R0,#+18       ;; ZeroExtS R0,R0,#+18,#+18
        LSRS     R0,R0,#+18
        B.N      ??account_Temp_1
??account_Temp_0:
        LSLS     R0,R0,#+20       ;; ZeroExtS R0,R0,#+20,#+20
        LSRS     R0,R0,#+20
??account_Temp_1:
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        CMP      R1,#+0
        BNE.N    ??account_Temp_2
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        LSLS     R0,R0,#+2
??account_Temp_2:
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        MOVS     R2,#+100
        SDIV     R0,R0,R2
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
account_RH:
        MOVS     R2,R0
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        CMP      R1,#+1
        BNE.N    ??account_RH_0
        UXTH     R2,R2            ;; ZeroExtS R2,R2,#+16,#+16
        LSRS     R2,R2,#+4
??account_RH_0:
        UXTB     R2,R2            ;; ZeroExtS R2,R2,#+24,#+24
        UXTH     R2,R2            ;; ZeroExtS R2,R2,#+16,#+16
        CMP      R2,#+108
        BCS.N    ??account_RH_1
        MOVS     R0,#+143
        MUL      R2,R2,R0
        MOVS     R0,#+512
        UXTH     R2,R2            ;; ZeroExtS R2,R2,#+16,#+16
        CMP      R2,R0
        BCS.N    ??account_RH_2
        MOVS     R0,#+2
        B.N      ??account_RH_3
??account_RH_2:
        SUBS     R2,R2,#+512
        B.N      ??account_RH_4
??account_RH_1:
        MOVS     R0,#+111
        MUL      R2,R2,R0
        ADDW     R2,R2,#+2893
??account_RH_4:
        UXTH     R2,R2            ;; ZeroExtS R2,R2,#+16,#+16
        LSRS     R2,R2,#+8
        UXTB     R2,R2            ;; ZeroExtS R2,R2,#+24,#+24
        MOVS     R0,R2
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
??account_RH_3:
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
Test_error:
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        CMP      R0,#+0
        BNE.N    ??Test_error_0
        MOVS     R2,#+0
        STRB     R2,[R1, #+15]
        MOVS     R2,#+0
        STRB     R2,[R1, #+16]
        B.N      ??Test_error_1
??Test_error_0:
        LDRB     R2,[R1, #+15]
        ADDS     R2,R2,#+1
        STRB     R2,[R1, #+15]
        UXTB     R2,R2            ;; ZeroExtS R2,R2,#+24,#+24
        CMP      R2,#+10
        BCC.N    ??Test_error_1
        MOVS     R2,#+1
        STRB     R2,[R1, #+16]
??Test_error_1:
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
read_SHT_data:
        PUSH     {R0,LR}
        LDR.N    R0,??read_SHT_data_0  ;; ??Timecounter
        LDRB     R0,[R0, #+0]
        ADDS     R0,R0,#+1
        LDR.N    R1,??read_SHT_data_0  ;; ??Timecounter
        STRB     R0,[R1, #+0]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        CMP      R0,#+20
        BCC.N    ??read_SHT_data_1
        LDR.N    R0,??read_SHT_data_0  ;; ??Timecounter
        MOVS     R1,#+0
        STRB     R1,[R0, #+0]
??read_SHT_data_1:
        LDR.N    R0,??read_SHT_data_0  ;; ??Timecounter
        LDRB     R0,[R0, #+0]
        CMP      R0,#+0
        BEQ.N    ??read_SHT_data_2
        SUBS     R0,R0,#+1
        BEQ.N    ??read_SHT_data_3
        SUBS     R0,R0,#+18
        BEQ.N    ??read_SHT_data_4
        B.N      ??read_SHT_data_5
??read_SHT_data_2:
        MOVS     R1,#+1
        LDR.N    R0,??read_SHT_data_0+0x4  ;; TemRHA
        BL       Read_SHT
        STRB     R0,[SP, #+0]
        LDR.N    R1,??read_SHT_data_0+0x4  ;; TemRHA
        LDRB     R0,[SP, #+0]
        BL       Test_error
        LDR.N    R0,??read_SHT_data_0+0x4  ;; TemRHA
        BL       START_SHT
        LDR.N    R1,??read_SHT_data_0+0x4  ;; TemRHA
        MOVS     R0,#+6
        BL       Write_SHT
        STRB     R0,[SP, #+0]
        LDR.N    R1,??read_SHT_data_0+0x4  ;; TemRHA
        MOVS     R0,#+1
        BL       Write_SHT
        STRB     R0,[SP, #+0]
        LDR.N    R1,??read_SHT_data_0+0x4  ;; TemRHA
        MOVS     R0,#+3
        BL       Write_SHT
        STRB     R0,[SP, #+0]
        LDR.N    R1,??read_SHT_data_0+0x4  ;; TemRHA
        LDRB     R0,[SP, #+0]
        BL       Test_error
        B.N      ??read_SHT_data_5
??read_SHT_data_3:
        MOVS     R1,#+0
        LDR.N    R0,??read_SHT_data_0+0x4  ;; TemRHA
        BL       Read_SHT
        STRB     R0,[SP, #+0]
        LDR.N    R1,??read_SHT_data_0+0x4  ;; TemRHA
        LDRB     R0,[SP, #+0]
        BL       Test_error
        B.N      ??read_SHT_data_5
??read_SHT_data_4:
        LDR.N    R0,??read_SHT_data_0+0x4  ;; TemRHA
        BL       START_SHT
        LDR.N    R1,??read_SHT_data_0+0x4  ;; TemRHA
        MOVS     R0,#+5
        BL       Write_SHT
        STRB     R0,[SP, #+0]
        LDR.N    R1,??read_SHT_data_0+0x4  ;; TemRHA
        LDRB     R0,[SP, #+0]
        BL       Test_error
??read_SHT_data_5:
        LDR.N    R0,??read_SHT_data_0+0x8  ;; TemRHA + 16
        LDRB     R0,[R0, #+0]
        CMP      R0,#+0
        BNE.N    ??read_SHT_data_6
        LDR.N    R0,??read_SHT_data_0+0xC  ;; _YT + 8
        LDR.N    R1,??read_SHT_data_0+0x10  ;; TemRHA + 14
        LDRB     R1,[R1, #+0]
        STRH     R1,[R0, #+0]
        LDR.N    R0,??read_SHT_data_0+0x14  ;; _YT + 6
        LDR.N    R1,??read_SHT_data_0+0x18  ;; TemRHA + 13
        LDRB     R1,[R1, #+0]
        STRH     R1,[R0, #+0]
        B.N      ??read_SHT_data_7
??read_SHT_data_6:

⌨️ 快捷键说明

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