diff --git a/.cproject b/.cproject
index 500a03b..d27545f 100644
--- a/.cproject
+++ b/.cproject
@@ -22,6 +22,7 @@
+
diff --git a/Debug/Motor_Controller2.bin b/Debug/Motor_Controller2.bin
index 1abcbd6..b201b12 100755
Binary files a/Debug/Motor_Controller2.bin and b/Debug/Motor_Controller2.bin differ
diff --git a/Debug/Motor_Controller2.list b/Debug/Motor_Controller2.list
index 1a53126..fce3344 100644
--- a/Debug/Motor_Controller2.list
+++ b/Debug/Motor_Controller2.list
@@ -5,45 +5,45 @@ Sections:
Idx Name Size VMA LMA File off Algn
0 .isr_vector 000000c0 08000000 08000000 00010000 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 1 .text 00003974 080000c0 080000c0 000100c0 2**2
+ 1 .text 0000372c 080000c0 080000c0 000100c0 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .rodata 00000068 08003a34 08003a34 00013a34 2**2
+ 2 .rodata 0000005c 080037ec 080037ec 000137ec 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 3 .ARM.extab 00000000 08003a9c 08003a9c 0002000c 2**0
+ 3 .ARM.extab 00000000 08003848 08003848 0002000c 2**0
CONTENTS
- 4 .ARM 00000000 08003a9c 08003a9c 0002000c 2**0
+ 4 .ARM 00000000 08003848 08003848 0002000c 2**0
CONTENTS
- 5 .preinit_array 00000000 08003a9c 08003a9c 0002000c 2**0
+ 5 .preinit_array 00000000 08003848 08003848 0002000c 2**0
CONTENTS, ALLOC, LOAD, DATA
- 6 .init_array 00000004 08003a9c 08003a9c 00013a9c 2**2
+ 6 .init_array 00000004 08003848 08003848 00013848 2**2
CONTENTS, ALLOC, LOAD, DATA
- 7 .fini_array 00000004 08003aa0 08003aa0 00013aa0 2**2
+ 7 .fini_array 00000004 0800384c 0800384c 0001384c 2**2
CONTENTS, ALLOC, LOAD, DATA
- 8 .data 0000000c 20000000 08003aa4 00020000 2**2
+ 8 .data 0000000c 20000000 08003850 00020000 2**2
CONTENTS, ALLOC, LOAD, DATA
- 9 .bss 00000144 2000000c 08003ab0 0002000c 2**2
+ 9 .bss 0000014c 2000000c 0800385c 0002000c 2**2
ALLOC
- 10 ._user_heap_stack 00000600 20000150 08003ab0 00020150 2**0
+ 10 ._user_heap_stack 00000600 20000158 0800385c 00020158 2**0
ALLOC
11 .ARM.attributes 00000028 00000000 00000000 0002000c 2**0
CONTENTS, READONLY
- 12 .debug_info 0000acfa 00000000 00000000 00020034 2**0
+ 12 .debug_info 0000aea4 00000000 00000000 00020034 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 13 .debug_abbrev 00001d62 00000000 00000000 0002ad2e 2**0
+ 13 .debug_abbrev 00001e10 00000000 00000000 0002aed8 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 14 .debug_aranges 00000aa8 00000000 00000000 0002ca90 2**3
+ 14 .debug_aranges 00000ab8 00000000 00000000 0002cce8 2**3
CONTENTS, READONLY, DEBUGGING, OCTETS
- 15 .debug_ranges 000009b0 00000000 00000000 0002d538 2**3
+ 15 .debug_ranges 000009b0 00000000 00000000 0002d7a0 2**3
CONTENTS, READONLY, DEBUGGING, OCTETS
- 16 .debug_macro 0000fbd0 00000000 00000000 0002dee8 2**0
+ 16 .debug_macro 0000fd9f 00000000 00000000 0002e150 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 17 .debug_line 0000d257 00000000 00000000 0003dab8 2**0
+ 17 .debug_line 0000d877 00000000 00000000 0003deef 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 18 .debug_str 0005ede8 00000000 00000000 0004ad0f 2**0
+ 18 .debug_str 0005edcc 00000000 00000000 0004b766 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 19 .comment 00000053 00000000 00000000 000a9af7 2**0
+ 19 .comment 00000053 00000000 00000000 000aa532 2**0
CONTENTS, READONLY
- 20 .debug_frame 00002558 00000000 00000000 000a9b4c 2**2
+ 20 .debug_frame 00002548 00000000 00000000 000aa588 2**2
CONTENTS, READONLY, DEBUGGING, OCTETS
Disassembly of section .text:
@@ -65,7 +65,7 @@ Disassembly of section .text:
80000da: bd10 pop {r4, pc}
80000dc: 2000000c .word 0x2000000c
80000e0: 00000000 .word 0x00000000
- 80000e4: 08003a1c .word 0x08003a1c
+ 80000e4: 080037d4 .word 0x080037d4
080000e8 :
80000e8: 4b04 ldr r3, [pc, #16] ; (80000fc )
@@ -80,7 +80,7 @@ Disassembly of section .text:
80000fa: 46c0 nop ; (mov r8, r8)
80000fc: 00000000 .word 0x00000000
8000100: 20000010 .word 0x20000010
- 8000104: 08003a1c .word 0x08003a1c
+ 8000104: 080037d4 .word 0x080037d4
08000108 <__udivsi3>:
8000108: 2200 movs r2, #0
@@ -501,7 +501,7 @@ int main(void)
/* USER CODE BEGIN 2 */
my_code();
- 800040c: f002 fcf8 bl 8002e00
+ 800040c: f002 fcc4 bl 8002d98
/* USER CODE END 2 */
/* Infinite loop */
@@ -526,14 +526,14 @@ void SystemClock_Config(void)
800041e: 2330 movs r3, #48 ; 0x30
8000420: 001a movs r2, r3
8000422: 2100 movs r1, #0
- 8000424: f003 faf2 bl 8003a0c
+ 8000424: f003 f9ce bl 80037c4
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
8000428: 003b movs r3, r7
800042a: 0018 movs r0, r3
800042c: 2310 movs r3, #16
800042e: 001a movs r2, r3
8000430: 2100 movs r1, #0
- 8000432: f003 faeb bl 8003a0c
+ 8000432: f003 f9c7 bl 80037c4
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -645,7 +645,7 @@ static void MX_ADC_Init(void)
80004be: 230c movs r3, #12
80004c0: 001a movs r2, r3
80004c2: 2100 movs r1, #0
- 80004c4: f003 faa2 bl 8003a0c
+ 80004c4: f003 f97e bl 80037c4
/* USER CODE BEGIN ADC_Init 1 */
/* USER CODE END ADC_Init 1 */
@@ -774,7 +774,7 @@ static void MX_ADC_Init(void)
8000576: 46bd mov sp, r7
8000578: b004 add sp, #16
800057a: bd80 pop {r7, pc}
- 800057c: 2000008c .word 0x2000008c
+ 800057c: 20000094 .word 0x20000094
8000580: 40012400 .word 0x40012400
08000584 :
@@ -834,7 +834,7 @@ static void MX_TIM14_Init(void)
80005be: 46bd mov sp, r7
80005c0: bd80 pop {r7, pc}
80005c2: 46c0 nop ; (mov r8, r8)
- 80005c4: 20000044 .word 0x20000044
+ 80005c4: 2000004c .word 0x2000004c
80005c8: 40002000 .word 0x40002000
080005cc :
@@ -854,7 +854,7 @@ static void MX_GPIO_Init(void)
80005d8: 2314 movs r3, #20
80005da: 001a movs r2, r3
80005dc: 2100 movs r1, #0
- 80005de: f003 fa15 bl 8003a0c
+ 80005de: f003 f8f1 bl 80037c4
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOF_CLK_ENABLE();
@@ -1109,7 +1109,7 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
800073a: 2314 movs r3, #20
800073c: 001a movs r2, r3
800073e: 2100 movs r1, #0
- 8000740: f003 f964 bl 8003a0c
+ 8000740: f003 f840 bl 80037c4
if(hadc->Instance==ADC1)
8000744: 687b ldr r3, [r7, #4]
8000746: 681b ldr r3, [r3, #0]
@@ -1388,7 +1388,7 @@ void TIM14_IRQHandler(void)
8000856: 46bd mov sp, r7
8000858: bd80 pop {r7, pc}
800085a: 46c0 nop ; (mov r8, r8)
- 800085c: 20000044 .word 0x20000044
+ 800085c: 2000004c .word 0x2000004c
08000860 :
* @brief Setup the microcontroller system
@@ -1484,7 +1484,7 @@ LoopFillZerobss:
8000896: f7ff ffe3 bl 8000860
/* Call static constructors */
bl __libc_init_array
- 800089a: f003 f893 bl 80039c4 <__libc_init_array>
+ 800089a: f002 ff6f bl 800377c <__libc_init_array>
/* Call the application's entry point.*/
bl main
800089e: f7ff fda9 bl 80003f4
@@ -1501,11 +1501,11 @@ LoopForever:
ldr r1, =_edata
80008ac: 2000000c .word 0x2000000c
ldr r2, =_sidata
- 80008b0: 08003aa4 .word 0x08003aa4
+ 80008b0: 08003850 .word 0x08003850
ldr r2, =_sbss
80008b4: 2000000c .word 0x2000000c
ldr r4, =_ebss
- 80008b8: 20000150 .word 0x20000150
+ 80008b8: 20000158 .word 0x20000158
080008bc :
* @retval : None
@@ -1653,7 +1653,7 @@ __weak void HAL_IncTick(void)
8000968: bd80 pop {r7, pc}
800096a: 46c0 nop ; (mov r8, r8)
800096c: 20000008 .word 0x20000008
- 8000970: 200000cc .word 0x200000cc
+ 8000970: 200000d4 .word 0x200000d4
08000974 :
* @note This function is declared as __weak to be overwritten in case of other
@@ -1672,7 +1672,7 @@ __weak uint32_t HAL_GetTick(void)
800097e: 46bd mov sp, r7
8000980: bd80 pop {r7, pc}
8000982: 46c0 nop ; (mov r8, r8)
- 8000984: 200000cc .word 0x200000cc
+ 8000984: 200000d4 .word 0x200000d4
08000988 :
* of structure "ADC_InitTypeDef".
@@ -4456,7 +4456,7 @@ void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
8001818: 1dbb adds r3, r7, #6
800181a: 881b ldrh r3, [r3, #0]
800181c: 0018 movs r0, r3
- 800181e: f002 f8ab bl 8003978
+ 800181e: f001 ff87 bl 8003730
}
}
8001822: 46c0 nop ; (mov r8, r8)
@@ -5943,7 +5943,7 @@ HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, ui
8001fec: 40021000 .word 0x40021000
8001ff0: 00001388 .word 0x00001388
8001ff4: fffff8ff .word 0xfffff8ff
- 8001ff8: 08003a5c .word 0x08003a5c
+ 8001ff8: 0800380c .word 0x0800380c
8001ffc: 20000000 .word 0x20000000
08002000 :
@@ -6091,8 +6091,8 @@ uint32_t HAL_RCC_GetSysClockFreq(void)
80020b2: b00f add sp, #60 ; 0x3c
80020b4: bd90 pop {r4, r7, pc}
80020b6: 46c0 nop ; (mov r8, r8)
- 80020b8: 08003a34 .word 0x08003a34
- 80020bc: 08003a44 .word 0x08003a44
+ 80020b8: 080037ec .word 0x080037ec
+ 80020bc: 080037fc .word 0x080037fc
80020c0: 40021000 .word 0x40021000
80020c4: 007a1200 .word 0x007a1200
@@ -6647,7 +6647,7 @@ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
HAL_TIM_PeriodElapsedCallback(htim);
8002386: 687b ldr r3, [r7, #4]
8002388: 0018 movs r0, r3
- 800238a: f001 fb05 bl 8003998
+ 800238a: f001 f9e1 bl 8003750
#endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
}
}
@@ -7189,2137 +7189,2158 @@ void GEI_BUTTON_CODE(struct button *bt,uint8_t in)
8002610: b002 add sp, #8
8002612: bd80 pop {r7, pc}
-08002614 :
- * @brief HT1621 clk
- * @param None
- * @retval None
- */
-void WriteClockHT1621(void)
+08002614 :
+ * Author: wuwenfeng
+ */
+#include "gpio.h"
+
+void change_io_function(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin,char a)
{
8002614: b580 push {r7, lr}
- 8002616: af00 add r7, sp, #0
- HC595_SCK(0);
- 8002618: 2390 movs r3, #144 ; 0x90
- 800261a: 05db lsls r3, r3, #23
- 800261c: 2200 movs r2, #0
- 800261e: 2140 movs r1, #64 ; 0x40
- 8002620: 0018 movs r0, r3
- 8002622: f7ff f8cc bl 80017be
- HC595_SCK(1);
- 8002626: 2390 movs r3, #144 ; 0x90
- 8002628: 05db lsls r3, r3, #23
- 800262a: 2201 movs r2, #1
- 800262c: 2140 movs r1, #64 ; 0x40
- 800262e: 0018 movs r0, r3
- 8002630: f7ff f8c5 bl 80017be
-}
- 8002634: 46c0 nop ; (mov r8, r8)
- 8002636: 46bd mov sp, r7
- 8002638: bd80 pop {r7, pc}
+ 8002616: b088 sub sp, #32
+ 8002618: af00 add r7, sp, #0
+ 800261a: 6078 str r0, [r7, #4]
+ 800261c: 0008 movs r0, r1
+ 800261e: 0011 movs r1, r2
+ 8002620: 1cbb adds r3, r7, #2
+ 8002622: 1c02 adds r2, r0, #0
+ 8002624: 801a strh r2, [r3, #0]
+ 8002626: 1c7b adds r3, r7, #1
+ 8002628: 1c0a adds r2, r1, #0
+ 800262a: 701a strb r2, [r3, #0]
+ GPIO_InitTypeDef GPIO_InitStruct;
+ GPIO_InitStruct.Pin = GPIO_Pin;
+ 800262c: 1cbb adds r3, r7, #2
+ 800262e: 881a ldrh r2, [r3, #0]
+ 8002630: 210c movs r1, #12
+ 8002632: 187b adds r3, r7, r1
+ 8002634: 601a str r2, [r3, #0]
-0800263a :
- * @brief Write HT1621 Command
- * @param FunctonCode->功能/命令码
- * @retval None
- */
-void WriteCommandHT1621(unsigned char FunctonCode)
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
+ 8002636: 187b adds r3, r7, r1
+ 8002638: 2203 movs r2, #3
+ 800263a: 60da str r2, [r3, #12]
+ if(a==1)
+ 800263c: 1c7b adds r3, r7, #1
+ 800263e: 781b ldrb r3, [r3, #0]
+ 8002640: 2b01 cmp r3, #1
+ 8002642: d105 bne.n 8002650
+ {
+ GPIO_InitStruct.Pull = GPIO_PULLUP;
+ 8002644: 187b adds r3, r7, r1
+ 8002646: 2201 movs r2, #1
+ 8002648: 609a str r2, [r3, #8]
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ 800264a: 187b adds r3, r7, r1
+ 800264c: 2200 movs r2, #0
+ 800264e: 605a str r2, [r3, #4]
+ }
+ if(a==0)
+ 8002650: 1c7b adds r3, r7, #1
+ 8002652: 781b ldrb r3, [r3, #0]
+ 8002654: 2b00 cmp r3, #0
+ 8002656: d106 bne.n 8002666
+ {
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 8002658: 210c movs r1, #12
+ 800265a: 187b adds r3, r7, r1
+ 800265c: 2200 movs r2, #0
+ 800265e: 609a str r2, [r3, #8]
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ 8002660: 187b adds r3, r7, r1
+ 8002662: 2201 movs r2, #1
+ 8002664: 605a str r2, [r3, #4]
+ }
+ HAL_GPIO_Init(GPIOx, &GPIO_InitStruct);
+ 8002666: 230c movs r3, #12
+ 8002668: 18fa adds r2, r7, r3
+ 800266a: 687b ldr r3, [r7, #4]
+ 800266c: 0011 movs r1, r2
+ 800266e: 0018 movs r0, r3
+ 8002670: f7fe ff18 bl 80014a4
+}
+ 8002674: 46c0 nop ; (mov r8, r8)
+ 8002676: 46bd mov sp, r7
+ 8002678: b008 add sp, #32
+ 800267a: bd80 pop {r7, pc}
+
+0800267c :
+#include "my_code.h"
+
+#define HT1621_addrbit 6
+
+void WriteClockHT1621(void)
{
- 800263a: b580 push {r7, lr}
- 800263c: b084 sub sp, #16
- 800263e: af00 add r7, sp, #0
- 8002640: 0002 movs r2, r0
- 8002642: 1dfb adds r3, r7, #7
- 8002644: 701a strb r2, [r3, #0]
- unsigned char Shift = 0x80;
- 8002646: 230f movs r3, #15
- 8002648: 18fb adds r3, r7, r3
- 800264a: 2280 movs r2, #128 ; 0x80
- 800264c: 701a strb r2, [r3, #0]
- unsigned char i;
- HC595_RCK(0); //CS 片选开
- 800264e: 2390 movs r3, #144 ; 0x90
- 8002650: 05db lsls r3, r3, #23
- 8002652: 2200 movs r2, #0
- 8002654: 2180 movs r1, #128 ; 0x80
- 8002656: 0018 movs r0, r3
- 8002658: f7ff f8b1 bl 80017be
- HC595_DCK(1); //100
- 800265c: 2390 movs r3, #144 ; 0x90
- 800265e: 05db lsls r3, r3, #23
- 8002660: 2201 movs r2, #1
- 8002662: 2120 movs r1, #32
- 8002664: 0018 movs r0, r3
- 8002666: f7ff f8aa bl 80017be
- WriteClockHT1621();
- 800266a: f7ff ffd3 bl 8002614
- HC595_DCK(0);
- 800266e: 2390 movs r3, #144 ; 0x90
- 8002670: 05db lsls r3, r3, #23
- 8002672: 2200 movs r2, #0
- 8002674: 2120 movs r1, #32
- 8002676: 0018 movs r0, r3
- 8002678: f7ff f8a1 bl 80017be
- WriteClockHT1621();
- 800267c: f7ff ffca bl 8002614
- HC595_DCK(0);
+ 800267c: b580 push {r7, lr}
+ 800267e: af00 add r7, sp, #0
+ HC595_SCK(0);
8002680: 2390 movs r3, #144 ; 0x90
8002682: 05db lsls r3, r3, #23
8002684: 2200 movs r2, #0
- 8002686: 2120 movs r1, #32
+ 8002686: 2140 movs r1, #64 ; 0x40
8002688: 0018 movs r0, r3
800268a: f7ff f898 bl 80017be
+ HC595_SCK(1);
+ 800268e: 2390 movs r3, #144 ; 0x90
+ 8002690: 05db lsls r3, r3, #23
+ 8002692: 2201 movs r2, #1
+ 8002694: 2140 movs r1, #64 ; 0x40
+ 8002696: 0018 movs r0, r3
+ 8002698: f7ff f891 bl 80017be
+}
+ 800269c: 46c0 nop ; (mov r8, r8)
+ 800269e: 46bd mov sp, r7
+ 80026a0: bd80 pop {r7, pc}
+
+080026a2 :
+
+void WriteCommandHT1621(unsigned char FunctonCode)
+{
+ 80026a2: b580 push {r7, lr}
+ 80026a4: b084 sub sp, #16
+ 80026a6: af00 add r7, sp, #0
+ 80026a8: 0002 movs r2, r0
+ 80026aa: 1dfb adds r3, r7, #7
+ 80026ac: 701a strb r2, [r3, #0]
+ unsigned char Shift = 0x80;
+ 80026ae: 230f movs r3, #15
+ 80026b0: 18fb adds r3, r7, r3
+ 80026b2: 2280 movs r2, #128 ; 0x80
+ 80026b4: 701a strb r2, [r3, #0]
+ unsigned char i;
+ HC595_RCK(0);
+ 80026b6: 2390 movs r3, #144 ; 0x90
+ 80026b8: 05db lsls r3, r3, #23
+ 80026ba: 2200 movs r2, #0
+ 80026bc: 2180 movs r1, #128 ; 0x80
+ 80026be: 0018 movs r0, r3
+ 80026c0: f7ff f87d bl 80017be
+ HC595_DCK(1);
+ 80026c4: 2390 movs r3, #144 ; 0x90
+ 80026c6: 05db lsls r3, r3, #23
+ 80026c8: 2201 movs r2, #1
+ 80026ca: 2120 movs r1, #32
+ 80026cc: 0018 movs r0, r3
+ 80026ce: f7ff f876 bl 80017be
WriteClockHT1621();
- 800268e: f7ff ffc1 bl 8002614
+ 80026d2: f7ff ffd3 bl 800267c
+ HC595_DCK(0);
+ 80026d6: 2390 movs r3, #144 ; 0x90
+ 80026d8: 05db lsls r3, r3, #23
+ 80026da: 2200 movs r2, #0
+ 80026dc: 2120 movs r1, #32
+ 80026de: 0018 movs r0, r3
+ 80026e0: f7ff f86d bl 80017be
+ WriteClockHT1621();
+ 80026e4: f7ff ffca bl 800267c
+ HC595_DCK(0);
+ 80026e8: 2390 movs r3, #144 ; 0x90
+ 80026ea: 05db lsls r3, r3, #23
+ 80026ec: 2200 movs r2, #0
+ 80026ee: 2120 movs r1, #32
+ 80026f0: 0018 movs r0, r3
+ 80026f2: f7ff f864 bl 80017be
+ WriteClockHT1621();
+ 80026f6: f7ff ffc1 bl 800267c
for(i = 0; i < 8; i++)
- 8002692: 230e movs r3, #14
- 8002694: 18fb adds r3, r7, r3
- 8002696: 2200 movs r2, #0
- 8002698: 701a strb r2, [r3, #0]
- 800269a: e025 b.n 80026e8
+ 80026fa: 230e movs r3, #14
+ 80026fc: 18fb adds r3, r7, r3
+ 80026fe: 2200 movs r2, #0
+ 8002700: 701a strb r2, [r3, #0]
+ 8002702: e025 b.n 8002750
{
if(Shift & FunctonCode)
- 800269c: 230f movs r3, #15
- 800269e: 18fb adds r3, r7, r3
- 80026a0: 1dfa adds r2, r7, #7
- 80026a2: 781b ldrb r3, [r3, #0]
- 80026a4: 7812 ldrb r2, [r2, #0]
- 80026a6: 4013 ands r3, r2
- 80026a8: b2db uxtb r3, r3
- 80026aa: 2b00 cmp r3, #0
- 80026ac: d007 beq.n 80026be
+ 8002704: 230f movs r3, #15
+ 8002706: 18fb adds r3, r7, r3
+ 8002708: 1dfa adds r2, r7, #7
+ 800270a: 781b ldrb r3, [r3, #0]
+ 800270c: 7812 ldrb r2, [r2, #0]
+ 800270e: 4013 ands r3, r2
+ 8002710: b2db uxtb r3, r3
+ 8002712: 2b00 cmp r3, #0
+ 8002714: d007 beq.n 8002726
{HC595_DCK(1);}
- 80026ae: 2390 movs r3, #144 ; 0x90
- 80026b0: 05db lsls r3, r3, #23
- 80026b2: 2201 movs r2, #1
- 80026b4: 2120 movs r1, #32
- 80026b6: 0018 movs r0, r3
- 80026b8: f7ff f881 bl 80017be
- 80026bc: e006 b.n 80026cc
+ 8002716: 2390 movs r3, #144 ; 0x90
+ 8002718: 05db lsls r3, r3, #23
+ 800271a: 2201 movs r2, #1
+ 800271c: 2120 movs r1, #32
+ 800271e: 0018 movs r0, r3
+ 8002720: f7ff f84d bl 80017be
+ 8002724: e006 b.n 8002734
else
{HC595_DCK(0);}
- 80026be: 2390 movs r3, #144 ; 0x90
- 80026c0: 05db lsls r3, r3, #23
- 80026c2: 2200 movs r2, #0
- 80026c4: 2120 movs r1, #32
- 80026c6: 0018 movs r0, r3
- 80026c8: f7ff f879 bl 80017be
+ 8002726: 2390 movs r3, #144 ; 0x90
+ 8002728: 05db lsls r3, r3, #23
+ 800272a: 2200 movs r2, #0
+ 800272c: 2120 movs r1, #32
+ 800272e: 0018 movs r0, r3
+ 8002730: f7ff f845 bl 80017be
WriteClockHT1621();
- 80026cc: f7ff ffa2 bl 8002614
+ 8002734: f7ff ffa2 bl 800267c
Shift = Shift >> 1;
- 80026d0: 220f movs r2, #15
- 80026d2: 18bb adds r3, r7, r2
- 80026d4: 18ba adds r2, r7, r2
- 80026d6: 7812 ldrb r2, [r2, #0]
- 80026d8: 0852 lsrs r2, r2, #1
- 80026da: 701a strb r2, [r3, #0]
+ 8002738: 220f movs r2, #15
+ 800273a: 18bb adds r3, r7, r2
+ 800273c: 18ba adds r2, r7, r2
+ 800273e: 7812 ldrb r2, [r2, #0]
+ 8002740: 0852 lsrs r2, r2, #1
+ 8002742: 701a strb r2, [r3, #0]
for(i = 0; i < 8; i++)
- 80026dc: 210e movs r1, #14
- 80026de: 187b adds r3, r7, r1
- 80026e0: 781a ldrb r2, [r3, #0]
- 80026e2: 187b adds r3, r7, r1
- 80026e4: 3201 adds r2, #1
- 80026e6: 701a strb r2, [r3, #0]
- 80026e8: 230e movs r3, #14
- 80026ea: 18fb adds r3, r7, r3
- 80026ec: 781b ldrb r3, [r3, #0]
- 80026ee: 2b07 cmp r3, #7
- 80026f0: d9d4 bls.n 800269c
+ 8002744: 210e movs r1, #14
+ 8002746: 187b adds r3, r7, r1
+ 8002748: 781a ldrb r2, [r3, #0]
+ 800274a: 187b adds r3, r7, r1
+ 800274c: 3201 adds r2, #1
+ 800274e: 701a strb r2, [r3, #0]
+ 8002750: 230e movs r3, #14
+ 8002752: 18fb adds r3, r7, r3
+ 8002754: 781b ldrb r3, [r3, #0]
+ 8002756: 2b07 cmp r3, #7
+ 8002758: d9d4 bls.n 8002704
}
{HC595_DCK(0);}
- 80026f2: 2390 movs r3, #144 ; 0x90
- 80026f4: 05db lsls r3, r3, #23
- 80026f6: 2200 movs r2, #0
- 80026f8: 2120 movs r1, #32
- 80026fa: 0018 movs r0, r3
- 80026fc: f7ff f85f bl 80017be
- WriteClockHT1621(); //发送一个 0 命令码中最后一位 X
- 8002700: f7ff ff88 bl 8002614
- HC595_RCK(1); //CS 片选关
- 8002704: 2390 movs r3, #144 ; 0x90
- 8002706: 05db lsls r3, r3, #23
- 8002708: 2201 movs r2, #1
- 800270a: 2180 movs r1, #128 ; 0x80
- 800270c: 0018 movs r0, r3
- 800270e: f7ff f856 bl 80017be
+ 800275a: 2390 movs r3, #144 ; 0x90
+ 800275c: 05db lsls r3, r3, #23
+ 800275e: 2200 movs r2, #0
+ 8002760: 2120 movs r1, #32
+ 8002762: 0018 movs r0, r3
+ 8002764: f7ff f82b bl 80017be
+ WriteClockHT1621();
+ 8002768: f7ff ff88 bl 800267c
+ HC595_RCK(1);
+ 800276c: 2390 movs r3, #144 ; 0x90
+ 800276e: 05db lsls r3, r3, #23
+ 8002770: 2201 movs r2, #1
+ 8002772: 2180 movs r1, #128 ; 0x80
+ 8002774: 0018 movs r0, r3
+ 8002776: f7ff f822 bl 80017be
HC595_DCK(1);
- 8002712: 2390 movs r3, #144 ; 0x90
- 8002714: 05db lsls r3, r3, #23
- 8002716: 2201 movs r2, #1
- 8002718: 2120 movs r1, #32
- 800271a: 0018 movs r0, r3
- 800271c: f7ff f84f bl 80017be
+ 800277a: 2390 movs r3, #144 ; 0x90
+ 800277c: 05db lsls r3, r3, #23
+ 800277e: 2201 movs r2, #1
+ 8002780: 2120 movs r1, #32
+ 8002782: 0018 movs r0, r3
+ 8002784: f7ff f81b bl 80017be
}
- 8002720: 46c0 nop ; (mov r8, r8)
- 8002722: 46bd mov sp, r7
- 8002724: b004 add sp, #16
- 8002726: bd80 pop {r7, pc}
+ 8002788: 46c0 nop ; (mov r8, r8)
+ 800278a: 46bd mov sp, r7
+ 800278c: b004 add sp, #16
+ 800278e: bd80 pop {r7, pc}
+
+08002790 :
+
+
-08002728 :
- * @param Databuf->写入ram的数据buffer
- * @param Cnt->写入ram的数据个数
- * @retval None
- */
void WritenDataHT1621(unsigned char Addr,unsigned char *Databuf,unsigned char Cnt)
{
- 8002728: b580 push {r7, lr}
- 800272a: b084 sub sp, #16
- 800272c: af00 add r7, sp, #0
- 800272e: 6039 str r1, [r7, #0]
- 8002730: 0011 movs r1, r2
- 8002732: 1dfb adds r3, r7, #7
- 8002734: 1c02 adds r2, r0, #0
- 8002736: 701a strb r2, [r3, #0]
- 8002738: 1dbb adds r3, r7, #6
- 800273a: 1c0a adds r2, r1, #0
- 800273c: 701a strb r2, [r3, #0]
+ 8002790: b580 push {r7, lr}
+ 8002792: b084 sub sp, #16
+ 8002794: af00 add r7, sp, #0
+ 8002796: 6039 str r1, [r7, #0]
+ 8002798: 0011 movs r1, r2
+ 800279a: 1dfb adds r3, r7, #7
+ 800279c: 1c02 adds r2, r0, #0
+ 800279e: 701a strb r2, [r3, #0]
+ 80027a0: 1dbb adds r3, r7, #6
+ 80027a2: 1c0a adds r2, r1, #0
+ 80027a4: 701a strb r2, [r3, #0]
unsigned char i,j;
unsigned char Shift;
unsigned char dataval;
- HC595_RCK(0); //CS 片选开
- 800273e: 2390 movs r3, #144 ; 0x90
- 8002740: 05db lsls r3, r3, #23
- 8002742: 2200 movs r2, #0
- 8002744: 2180 movs r1, #128 ; 0x80
- 8002746: 0018 movs r0, r3
- 8002748: f7ff f839 bl 80017be
- HC595_DCK(1); //101
- 800274c: 2390 movs r3, #144 ; 0x90
- 800274e: 05db lsls r3, r3, #23
- 8002750: 2201 movs r2, #1
- 8002752: 2120 movs r1, #32
- 8002754: 0018 movs r0, r3
- 8002756: f7ff f832 bl 80017be
- WriteClockHT1621();
- 800275a: f7ff ff5b bl 8002614
- HC595_DCK(0);
- 800275e: 2390 movs r3, #144 ; 0x90
- 8002760: 05db lsls r3, r3, #23
- 8002762: 2200 movs r2, #0
- 8002764: 2120 movs r1, #32
- 8002766: 0018 movs r0, r3
- 8002768: f7ff f829 bl 80017be
- WriteClockHT1621();
- 800276c: f7ff ff52 bl 8002614
- HC595_DCK(1);
- 8002770: 2390 movs r3, #144 ; 0x90
- 8002772: 05db lsls r3, r3, #23
- 8002774: 2201 movs r2, #1
- 8002776: 2120 movs r1, #32
- 8002778: 0018 movs r0, r3
- 800277a: f7ff f820 bl 80017be
- WriteClockHT1621();
- 800277e: f7ff ff49 bl 8002614
- Shift = 0x20; //屏蔽高3位 只用5位
- 8002782: 230d movs r3, #13
- 8002784: 18fb adds r3, r7, r3
- 8002786: 2220 movs r2, #32
- 8002788: 701a strb r2, [r3, #0]
- for( i = 0; i < HT1621_addrbit; i++)
- 800278a: 230f movs r3, #15
- 800278c: 18fb adds r3, r7, r3
- 800278e: 2200 movs r2, #0
- 8002790: 701a strb r2, [r3, #0]
- 8002792: e025 b.n 80027e0
- {
- if (Addr & Shift)
- 8002794: 1dfb adds r3, r7, #7
- 8002796: 220d movs r2, #13
- 8002798: 18ba adds r2, r7, r2
- 800279a: 781b ldrb r3, [r3, #0]
- 800279c: 7812 ldrb r2, [r2, #0]
- 800279e: 4013 ands r3, r2
- 80027a0: b2db uxtb r3, r3
- 80027a2: 2b00 cmp r3, #0
- 80027a4: d007 beq.n 80027b6
- {HC595_DCK(1);}
+ HC595_RCK(0);
80027a6: 2390 movs r3, #144 ; 0x90
80027a8: 05db lsls r3, r3, #23
- 80027aa: 2201 movs r2, #1
- 80027ac: 2120 movs r1, #32
+ 80027aa: 2200 movs r2, #0
+ 80027ac: 2180 movs r1, #128 ; 0x80
80027ae: 0018 movs r0, r3
80027b0: f7ff f805 bl 80017be
- 80027b4: e006 b.n 80027c4
+ HC595_DCK(1); //101
+ 80027b4: 2390 movs r3, #144 ; 0x90
+ 80027b6: 05db lsls r3, r3, #23
+ 80027b8: 2201 movs r2, #1
+ 80027ba: 2120 movs r1, #32
+ 80027bc: 0018 movs r0, r3
+ 80027be: f7fe fffe bl 80017be
+ WriteClockHT1621();
+ 80027c2: f7ff ff5b bl 800267c
+ HC595_DCK(0);
+ 80027c6: 2390 movs r3, #144 ; 0x90
+ 80027c8: 05db lsls r3, r3, #23
+ 80027ca: 2200 movs r2, #0
+ 80027cc: 2120 movs r1, #32
+ 80027ce: 0018 movs r0, r3
+ 80027d0: f7fe fff5 bl 80017be
+ WriteClockHT1621();
+ 80027d4: f7ff ff52 bl 800267c
+ HC595_DCK(1);
+ 80027d8: 2390 movs r3, #144 ; 0x90
+ 80027da: 05db lsls r3, r3, #23
+ 80027dc: 2201 movs r2, #1
+ 80027de: 2120 movs r1, #32
+ 80027e0: 0018 movs r0, r3
+ 80027e2: f7fe ffec bl 80017be
+ WriteClockHT1621();
+ 80027e6: f7ff ff49 bl 800267c
+ Shift = 0x20;
+ 80027ea: 230d movs r3, #13
+ 80027ec: 18fb adds r3, r7, r3
+ 80027ee: 2220 movs r2, #32
+ 80027f0: 701a strb r2, [r3, #0]
+ for( i = 0; i < HT1621_addrbit; i++)
+ 80027f2: 230f movs r3, #15
+ 80027f4: 18fb adds r3, r7, r3
+ 80027f6: 2200 movs r2, #0
+ 80027f8: 701a strb r2, [r3, #0]
+ 80027fa: e025 b.n 8002848
+ {
+ if (Addr & Shift)
+ 80027fc: 1dfb adds r3, r7, #7
+ 80027fe: 220d movs r2, #13
+ 8002800: 18ba adds r2, r7, r2
+ 8002802: 781b ldrb r3, [r3, #0]
+ 8002804: 7812 ldrb r2, [r2, #0]
+ 8002806: 4013 ands r3, r2
+ 8002808: b2db uxtb r3, r3
+ 800280a: 2b00 cmp r3, #0
+ 800280c: d007 beq.n 800281e
+ {HC595_DCK(1);}
+ 800280e: 2390 movs r3, #144 ; 0x90
+ 8002810: 05db lsls r3, r3, #23
+ 8002812: 2201 movs r2, #1
+ 8002814: 2120 movs r1, #32
+ 8002816: 0018 movs r0, r3
+ 8002818: f7fe ffd1 bl 80017be
+ 800281c: e006 b.n 800282c
else
{HC595_DCK(0);}
- 80027b6: 2390 movs r3, #144 ; 0x90
- 80027b8: 05db lsls r3, r3, #23
- 80027ba: 2200 movs r2, #0
- 80027bc: 2120 movs r1, #32
- 80027be: 0018 movs r0, r3
- 80027c0: f7fe fffd bl 80017be
+ 800281e: 2390 movs r3, #144 ; 0x90
+ 8002820: 05db lsls r3, r3, #23
+ 8002822: 2200 movs r2, #0
+ 8002824: 2120 movs r1, #32
+ 8002826: 0018 movs r0, r3
+ 8002828: f7fe ffc9 bl 80017be
WriteClockHT1621();
- 80027c4: f7ff ff26 bl 8002614
+ 800282c: f7ff ff26 bl 800267c
Shift = Shift >> 1;
- 80027c8: 220d movs r2, #13
- 80027ca: 18bb adds r3, r7, r2
- 80027cc: 18ba adds r2, r7, r2
- 80027ce: 7812 ldrb r2, [r2, #0]
- 80027d0: 0852 lsrs r2, r2, #1
- 80027d2: 701a strb r2, [r3, #0]
+ 8002830: 220d movs r2, #13
+ 8002832: 18bb adds r3, r7, r2
+ 8002834: 18ba adds r2, r7, r2
+ 8002836: 7812 ldrb r2, [r2, #0]
+ 8002838: 0852 lsrs r2, r2, #1
+ 800283a: 701a strb r2, [r3, #0]
for( i = 0; i < HT1621_addrbit; i++)
- 80027d4: 210f movs r1, #15
- 80027d6: 187b adds r3, r7, r1
- 80027d8: 781a ldrb r2, [r3, #0]
- 80027da: 187b adds r3, r7, r1
- 80027dc: 3201 adds r2, #1
- 80027de: 701a strb r2, [r3, #0]
- 80027e0: 230f movs r3, #15
- 80027e2: 18fb adds r3, r7, r3
- 80027e4: 781b ldrb r3, [r3, #0]
- 80027e6: 2b05 cmp r3, #5
- 80027e8: d9d4 bls.n 8002794
+ 800283c: 210f movs r1, #15
+ 800283e: 187b adds r3, r7, r1
+ 8002840: 781a ldrb r2, [r3, #0]
+ 8002842: 187b adds r3, r7, r1
+ 8002844: 3201 adds r2, #1
+ 8002846: 701a strb r2, [r3, #0]
+ 8002848: 230f movs r3, #15
+ 800284a: 18fb adds r3, r7, r3
+ 800284c: 781b ldrb r3, [r3, #0]
+ 800284e: 2b05 cmp r3, #5
+ 8002850: d9d4 bls.n 80027fc
}
for (j = 0; j < Cnt; j++)
- 80027ea: 230e movs r3, #14
- 80027ec: 18fb adds r3, r7, r3
- 80027ee: 2200 movs r2, #0
- 80027f0: 701a strb r2, [r3, #0]
- 80027f2: e041 b.n 8002878
+ 8002852: 230e movs r3, #14
+ 8002854: 18fb adds r3, r7, r3
+ 8002856: 2200 movs r2, #0
+ 8002858: 701a strb r2, [r3, #0]
+ 800285a: e041 b.n 80028e0
{
Shift = 0x01;
- 80027f4: 230d movs r3, #13
- 80027f6: 18fb adds r3, r7, r3
- 80027f8: 2201 movs r2, #1
- 80027fa: 701a strb r2, [r3, #0]
+ 800285c: 230d movs r3, #13
+ 800285e: 18fb adds r3, r7, r3
+ 8002860: 2201 movs r2, #1
+ 8002862: 701a strb r2, [r3, #0]
dataval=*Databuf++;
- 80027fc: 683b ldr r3, [r7, #0]
- 80027fe: 1c5a adds r2, r3, #1
- 8002800: 603a str r2, [r7, #0]
- 8002802: 220c movs r2, #12
- 8002804: 18ba adds r2, r7, r2
- 8002806: 781b ldrb r3, [r3, #0]
- 8002808: 7013 strb r3, [r2, #0]
+ 8002864: 683b ldr r3, [r7, #0]
+ 8002866: 1c5a adds r2, r3, #1
+ 8002868: 603a str r2, [r7, #0]
+ 800286a: 220c movs r2, #12
+ 800286c: 18ba adds r2, r7, r2
+ 800286e: 781b ldrb r3, [r3, #0]
+ 8002870: 7013 strb r3, [r2, #0]
for (i = 0; i < 4; i++)
- 800280a: 230f movs r3, #15
- 800280c: 18fb adds r3, r7, r3
- 800280e: 2200 movs r2, #0
- 8002810: 701a strb r2, [r3, #0]
- 8002812: e026 b.n 8002862
+ 8002872: 230f movs r3, #15
+ 8002874: 18fb adds r3, r7, r3
+ 8002876: 2200 movs r2, #0
+ 8002878: 701a strb r2, [r3, #0]
+ 800287a: e026 b.n 80028ca
{
if( dataval & Shift)
- 8002814: 230c movs r3, #12
- 8002816: 18fb adds r3, r7, r3
- 8002818: 220d movs r2, #13
- 800281a: 18ba adds r2, r7, r2
- 800281c: 781b ldrb r3, [r3, #0]
- 800281e: 7812 ldrb r2, [r2, #0]
- 8002820: 4013 ands r3, r2
- 8002822: b2db uxtb r3, r3
- 8002824: 2b00 cmp r3, #0
- 8002826: d007 beq.n 8002838
+ 800287c: 230c movs r3, #12
+ 800287e: 18fb adds r3, r7, r3
+ 8002880: 220d movs r2, #13
+ 8002882: 18ba adds r2, r7, r2
+ 8002884: 781b ldrb r3, [r3, #0]
+ 8002886: 7812 ldrb r2, [r2, #0]
+ 8002888: 4013 ands r3, r2
+ 800288a: b2db uxtb r3, r3
+ 800288c: 2b00 cmp r3, #0
+ 800288e: d007 beq.n 80028a0
{HC595_DCK(1);}
- 8002828: 2390 movs r3, #144 ; 0x90
- 800282a: 05db lsls r3, r3, #23
- 800282c: 2201 movs r2, #1
- 800282e: 2120 movs r1, #32
- 8002830: 0018 movs r0, r3
- 8002832: f7fe ffc4 bl 80017be
- 8002836: e006 b.n 8002846
+ 8002890: 2390 movs r3, #144 ; 0x90
+ 8002892: 05db lsls r3, r3, #23
+ 8002894: 2201 movs r2, #1
+ 8002896: 2120 movs r1, #32
+ 8002898: 0018 movs r0, r3
+ 800289a: f7fe ff90 bl 80017be
+ 800289e: e006 b.n 80028ae
else
{HC595_DCK(0);}
- 8002838: 2390 movs r3, #144 ; 0x90
- 800283a: 05db lsls r3, r3, #23
- 800283c: 2200 movs r2, #0
- 800283e: 2120 movs r1, #32
- 8002840: 0018 movs r0, r3
- 8002842: f7fe ffbc bl 80017be
+ 80028a0: 2390 movs r3, #144 ; 0x90
+ 80028a2: 05db lsls r3, r3, #23
+ 80028a4: 2200 movs r2, #0
+ 80028a6: 2120 movs r1, #32
+ 80028a8: 0018 movs r0, r3
+ 80028aa: f7fe ff88 bl 80017be
WriteClockHT1621();
- 8002846: f7ff fee5 bl 8002614
+ 80028ae: f7ff fee5 bl 800267c
Shift = Shift << 1;
- 800284a: 230d movs r3, #13
- 800284c: 18fa adds r2, r7, r3
- 800284e: 18fb adds r3, r7, r3
- 8002850: 781b ldrb r3, [r3, #0]
- 8002852: 18db adds r3, r3, r3
- 8002854: 7013 strb r3, [r2, #0]
+ 80028b2: 230d movs r3, #13
+ 80028b4: 18fa adds r2, r7, r3
+ 80028b6: 18fb adds r3, r7, r3
+ 80028b8: 781b ldrb r3, [r3, #0]
+ 80028ba: 18db adds r3, r3, r3
+ 80028bc: 7013 strb r3, [r2, #0]
for (i = 0; i < 4; i++)
- 8002856: 210f movs r1, #15
- 8002858: 187b adds r3, r7, r1
- 800285a: 781a ldrb r2, [r3, #0]
- 800285c: 187b adds r3, r7, r1
- 800285e: 3201 adds r2, #1
- 8002860: 701a strb r2, [r3, #0]
- 8002862: 230f movs r3, #15
- 8002864: 18fb adds r3, r7, r3
- 8002866: 781b ldrb r3, [r3, #0]
- 8002868: 2b03 cmp r3, #3
- 800286a: d9d3 bls.n 8002814
+ 80028be: 210f movs r1, #15
+ 80028c0: 187b adds r3, r7, r1
+ 80028c2: 781a ldrb r2, [r3, #0]
+ 80028c4: 187b adds r3, r7, r1
+ 80028c6: 3201 adds r2, #1
+ 80028c8: 701a strb r2, [r3, #0]
+ 80028ca: 230f movs r3, #15
+ 80028cc: 18fb adds r3, r7, r3
+ 80028ce: 781b ldrb r3, [r3, #0]
+ 80028d0: 2b03 cmp r3, #3
+ 80028d2: d9d3 bls.n 800287c
for (j = 0; j < Cnt; j++)
- 800286c: 210e movs r1, #14
- 800286e: 187b adds r3, r7, r1
- 8002870: 781a ldrb r2, [r3, #0]
- 8002872: 187b adds r3, r7, r1
- 8002874: 3201 adds r2, #1
- 8002876: 701a strb r2, [r3, #0]
- 8002878: 230e movs r3, #14
- 800287a: 18fa adds r2, r7, r3
- 800287c: 1dbb adds r3, r7, #6
- 800287e: 7812 ldrb r2, [r2, #0]
- 8002880: 781b ldrb r3, [r3, #0]
- 8002882: 429a cmp r2, r3
- 8002884: d3b6 bcc.n 80027f4
+ 80028d4: 210e movs r1, #14
+ 80028d6: 187b adds r3, r7, r1
+ 80028d8: 781a ldrb r2, [r3, #0]
+ 80028da: 187b adds r3, r7, r1
+ 80028dc: 3201 adds r2, #1
+ 80028de: 701a strb r2, [r3, #0]
+ 80028e0: 230e movs r3, #14
+ 80028e2: 18fa adds r2, r7, r3
+ 80028e4: 1dbb adds r3, r7, #6
+ 80028e6: 7812 ldrb r2, [r2, #0]
+ 80028e8: 781b ldrb r3, [r3, #0]
+ 80028ea: 429a cmp r2, r3
+ 80028ec: d3b6 bcc.n 800285c
}
}
- HC595_RCK(1); //CS 片选关
- 8002886: 2390 movs r3, #144 ; 0x90
- 8002888: 05db lsls r3, r3, #23
- 800288a: 2201 movs r2, #1
- 800288c: 2180 movs r1, #128 ; 0x80
- 800288e: 0018 movs r0, r3
- 8002890: f7fe ff95 bl 80017be
- HC595_DCK(1);
- 8002894: 2390 movs r3, #144 ; 0x90
- 8002896: 05db lsls r3, r3, #23
- 8002898: 2201 movs r2, #1
- 800289a: 2120 movs r1, #32
- 800289c: 0018 movs r0, r3
- 800289e: f7fe ff8e bl 80017be
-}
- 80028a2: 46c0 nop ; (mov r8, r8)
- 80028a4: 46bd mov sp, r7
- 80028a6: b004 add sp, #16
- 80028a8: bd80 pop {r7, pc}
-
-080028aa :
- * @brief HT1621 Init
- * @param None
- * @retval None
- */
-void HT1621_Init(void) //退出掉电低功耗状态重新初始化HT1621
-{
- 80028aa: b580 push {r7, lr}
- 80028ac: af00 add r7, sp, #0
HC595_RCK(1);
- 80028ae: 2390 movs r3, #144 ; 0x90
- 80028b0: 05db lsls r3, r3, #23
- 80028b2: 2201 movs r2, #1
- 80028b4: 2180 movs r1, #128 ; 0x80
- 80028b6: 0018 movs r0, r3
- 80028b8: f7fe ff81 bl 80017be
- HC595_SCK(1);
- 80028bc: 2390 movs r3, #144 ; 0x90
- 80028be: 05db lsls r3, r3, #23
- 80028c0: 2201 movs r2, #1
- 80028c2: 2140 movs r1, #64 ; 0x40
- 80028c4: 0018 movs r0, r3
- 80028c6: f7fe ff7a bl 80017be
+ 80028ee: 2390 movs r3, #144 ; 0x90
+ 80028f0: 05db lsls r3, r3, #23
+ 80028f2: 2201 movs r2, #1
+ 80028f4: 2180 movs r1, #128 ; 0x80
+ 80028f6: 0018 movs r0, r3
+ 80028f8: f7fe ff61 bl 80017be
HC595_DCK(1);
- 80028ca: 2390 movs r3, #144 ; 0x90
- 80028cc: 05db lsls r3, r3, #23
- 80028ce: 2201 movs r2, #1
- 80028d0: 2120 movs r1, #32
- 80028d2: 0018 movs r0, r3
- 80028d4: f7fe ff73 bl 80017be
-
- WriteCommandHT1621(OSC_ON);
- 80028d8: 2001 movs r0, #1
- 80028da: f7ff feae bl 800263a
- WriteCommandHT1621(DISP_ON);
- 80028de: 2003 movs r0, #3
- 80028e0: f7ff feab bl 800263a
-
- WriteCommandHT1621(COM_1_3__4);
- 80028e4: 2029 movs r0, #41 ; 0x29
- 80028e6: f7ff fea8 bl 800263a
-
- //上电默认配置(以下未用功能关闭降低功耗)
-
- WriteCommandHT1621(TIMER_DIS);
- 80028ea: 2004 movs r0, #4
- 80028ec: f7ff fea5 bl 800263a
- WriteCommandHT1621(WDT_DIS);
- 80028f0: 2005 movs r0, #5
- 80028f2: f7ff fea2 bl 800263a
- WriteCommandHT1621(BUZZ_OFF);
- 80028f6: 2008 movs r0, #8
- 80028f8: f7ff fe9f bl 800263a
- WriteCommandHT1621(IRQ_DIS);
- 80028fc: 2080 movs r0, #128 ; 0x80
- 80028fe: f7ff fe9c bl 800263a
-
-
+ 80028fc: 2390 movs r3, #144 ; 0x90
+ 80028fe: 05db lsls r3, r3, #23
+ 8002900: 2201 movs r2, #1
+ 8002902: 2120 movs r1, #32
+ 8002904: 0018 movs r0, r3
+ 8002906: f7fe ff5a bl 80017be
}
- 8002902: 46c0 nop ; (mov r8, r8)
- 8002904: 46bd mov sp, r7
- 8002906: bd80 pop {r7, pc}
+ 800290a: 46c0 nop ; (mov r8, r8)
+ 800290c: 46bd mov sp, r7
+ 800290e: b004 add sp, #16
+ 8002910: bd80 pop {r7, pc}
-08002908 :
- char moto2b_;
+08002912 :
-}moto;
-void ds_in_or_out(char a)//change the io function
+
+
+void HT1621_Init(void)
{
- 8002908: b590 push {r4, r7, lr}
- 800290a: b089 sub sp, #36 ; 0x24
- 800290c: af00 add r7, sp, #0
- 800290e: 0002 movs r2, r0
- 8002910: 1dfb adds r3, r7, #7
- 8002912: 701a strb r2, [r3, #0]
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- 8002914: 240c movs r4, #12
- 8002916: 193b adds r3, r7, r4
- 8002918: 0018 movs r0, r3
- 800291a: 2314 movs r3, #20
- 800291c: 001a movs r2, r3
- 800291e: 2100 movs r1, #0
- 8002920: f001 f874 bl 8003a0c
- GPIO_InitStruct.Pin = HC595_DLK_Pin;
- 8002924: 0021 movs r1, r4
- 8002926: 187b adds r3, r7, r1
- 8002928: 2220 movs r2, #32
- 800292a: 601a str r2, [r3, #0]
-
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
- 800292c: 187b adds r3, r7, r1
- 800292e: 2203 movs r2, #3
- 8002930: 60da str r2, [r3, #12]
- if(a==0)
- 8002932: 1dfb adds r3, r7, #7
- 8002934: 781b ldrb r3, [r3, #0]
- 8002936: 2b00 cmp r3, #0
- 8002938: d105 bne.n 8002946
- {
- GPIO_InitStruct.Pull = GPIO_PULLUP;
- 800293a: 187b adds r3, r7, r1
- 800293c: 2201 movs r2, #1
- 800293e: 609a str r2, [r3, #8]
- GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
- 8002940: 187b adds r3, r7, r1
- 8002942: 2200 movs r2, #0
- 8002944: 605a str r2, [r3, #4]
- }
- if(a==1)
- 8002946: 1dfb adds r3, r7, #7
- 8002948: 781b ldrb r3, [r3, #0]
- 800294a: 2b01 cmp r3, #1
- 800294c: d106 bne.n 800295c
- {
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- 800294e: 210c movs r1, #12
- 8002950: 187b adds r3, r7, r1
- 8002952: 2200 movs r2, #0
- 8002954: 609a str r2, [r3, #8]
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- 8002956: 187b adds r3, r7, r1
- 8002958: 2201 movs r2, #1
- 800295a: 605a str r2, [r3, #4]
- }
- HAL_GPIO_Init(HC595_DLK_GPIO_Port, &GPIO_InitStruct);
- 800295c: 230c movs r3, #12
- 800295e: 18fa adds r2, r7, r3
- 8002960: 2390 movs r3, #144 ; 0x90
- 8002962: 05db lsls r3, r3, #23
- 8002964: 0011 movs r1, r2
- 8002966: 0018 movs r0, r3
- 8002968: f7fe fd9c bl 80014a4
+ 8002912: b580 push {r7, lr}
+ 8002914: af00 add r7, sp, #0
+ HC595_RCK(1);
+ 8002916: 2390 movs r3, #144 ; 0x90
+ 8002918: 05db lsls r3, r3, #23
+ 800291a: 2201 movs r2, #1
+ 800291c: 2180 movs r1, #128 ; 0x80
+ 800291e: 0018 movs r0, r3
+ 8002920: f7fe ff4d bl 80017be
+ HC595_SCK(1);
+ 8002924: 2390 movs r3, #144 ; 0x90
+ 8002926: 05db lsls r3, r3, #23
+ 8002928: 2201 movs r2, #1
+ 800292a: 2140 movs r1, #64 ; 0x40
+ 800292c: 0018 movs r0, r3
+ 800292e: f7fe ff46 bl 80017be
+ HC595_DCK(1);
+ 8002932: 2390 movs r3, #144 ; 0x90
+ 8002934: 05db lsls r3, r3, #23
+ 8002936: 2201 movs r2, #1
+ 8002938: 2120 movs r1, #32
+ 800293a: 0018 movs r0, r3
+ 800293c: f7fe ff3f bl 80017be
+ WriteCommandHT1621(OSC_ON);
+ 8002940: 2001 movs r0, #1
+ 8002942: f7ff feae bl 80026a2
+ WriteCommandHT1621(DISP_ON);
+ 8002946: 2003 movs r0, #3
+ 8002948: f7ff feab bl 80026a2
+ WriteCommandHT1621(COM_1_3__4);
+ 800294c: 2029 movs r0, #41 ; 0x29
+ 800294e: f7ff fea8 bl 80026a2
+ WriteCommandHT1621(TIMER_DIS);
+ 8002952: 2004 movs r0, #4
+ 8002954: f7ff fea5 bl 80026a2
+ WriteCommandHT1621(WDT_DIS);
+ 8002958: 2005 movs r0, #5
+ 800295a: f7ff fea2 bl 80026a2
+ WriteCommandHT1621(BUZZ_OFF);
+ 800295e: 2008 movs r0, #8
+ 8002960: f7ff fe9f bl 80026a2
+ WriteCommandHT1621(IRQ_DIS);
+ 8002964: 2080 movs r0, #128 ; 0x80
+ 8002966: f7ff fe9c bl 80026a2
}
- 800296c: 46c0 nop ; (mov r8, r8)
- 800296e: 46bd mov sp, r7
- 8002970: b009 add sp, #36 ; 0x24
- 8002972: bd90 pop {r4, r7, pc}
+ 800296a: 46c0 nop ; (mov r8, r8)
+ 800296c: 46bd mov sp, r7
+ 800296e: bd80 pop {r7, pc}
-08002974 :
+08002970 :
//return READ_HC595_DCK;
}
//send data to 959
void Sand_Byte_to_595_2(uint8_t h)
{
- 8002974: b580 push {r7, lr}
- 8002976: b084 sub sp, #16
- 8002978: af00 add r7, sp, #0
- 800297a: 0002 movs r2, r0
- 800297c: 1dfb adds r3, r7, #7
- 800297e: 701a strb r2, [r3, #0]
- ds_in_or_out(1);
- 8002980: 2001 movs r0, #1
- 8002982: f7ff ffc1 bl 8002908
+ 8002970: b580 push {r7, lr}
+ 8002972: b084 sub sp, #16
+ 8002974: af00 add r7, sp, #0
+ 8002976: 0002 movs r2, r0
+ 8002978: 1dfb adds r3, r7, #7
+ 800297a: 701a strb r2, [r3, #0]
+ change_io_function(HC595_DLK_GPIO_Port,HC595_DLK_Pin,0);
+ 800297c: 2390 movs r3, #144 ; 0x90
+ 800297e: 05db lsls r3, r3, #23
+ 8002980: 2200 movs r2, #0
+ 8002982: 2120 movs r1, #32
+ 8002984: 0018 movs r0, r3
+ 8002986: f7ff fe45 bl 8002614
HC595_DCK(0);
- 8002986: 2390 movs r3, #144 ; 0x90
- 8002988: 05db lsls r3, r3, #23
- 800298a: 2200 movs r2, #0
- 800298c: 2120 movs r1, #32
- 800298e: 0018 movs r0, r3
- 8002990: f7fe ff15 bl 80017be
+ 800298a: 2390 movs r3, #144 ; 0x90
+ 800298c: 05db lsls r3, r3, #23
+ 800298e: 2200 movs r2, #0
+ 8002990: 2120 movs r1, #32
+ 8002992: 0018 movs r0, r3
+ 8002994: f7fe ff13 bl 80017be
HC595_SCK2(0);
- 8002994: 2380 movs r3, #128 ; 0x80
- 8002996: 0099 lsls r1, r3, #2
- 8002998: 2390 movs r3, #144 ; 0x90
- 800299a: 05db lsls r3, r3, #23
- 800299c: 2200 movs r2, #0
- 800299e: 0018 movs r0, r3
- 80029a0: f7fe ff0d bl 80017be
+ 8002998: 2380 movs r3, #128 ; 0x80
+ 800299a: 0099 lsls r1, r3, #2
+ 800299c: 2390 movs r3, #144 ; 0x90
+ 800299e: 05db lsls r3, r3, #23
+ 80029a0: 2200 movs r2, #0
+ 80029a2: 0018 movs r0, r3
+ 80029a4: f7fe ff0b bl 80017be
HC595_RCK(0);
- 80029a4: 2390 movs r3, #144 ; 0x90
- 80029a6: 05db lsls r3, r3, #23
- 80029a8: 2200 movs r2, #0
- 80029aa: 2180 movs r1, #128 ; 0x80
- 80029ac: 0018 movs r0, r3
- 80029ae: f7fe ff06 bl 80017be
+ 80029a8: 2390 movs r3, #144 ; 0x90
+ 80029aa: 05db lsls r3, r3, #23
+ 80029ac: 2200 movs r2, #0
+ 80029ae: 2180 movs r1, #128 ; 0x80
+ 80029b0: 0018 movs r0, r3
+ 80029b2: f7fe ff04 bl 80017be
for(char a=0;a<8;a++)
- 80029b2: 230f movs r3, #15
- 80029b4: 18fb adds r3, r7, r3
- 80029b6: 2200 movs r2, #0
- 80029b8: 701a strb r2, [r3, #0]
- 80029ba: e02e b.n 8002a1a
+ 80029b6: 230f movs r3, #15
+ 80029b8: 18fb adds r3, r7, r3
+ 80029ba: 2200 movs r2, #0
+ 80029bc: 701a strb r2, [r3, #0]
+ 80029be: e02e b.n 8002a1e
{
if((h<
+ 80029c0: 1dfb adds r3, r7, #7
+ 80029c2: 781a ldrb r2, [r3, #0]
+ 80029c4: 230f movs r3, #15
+ 80029c6: 18fb adds r3, r7, r3
+ 80029c8: 781b ldrb r3, [r3, #0]
+ 80029ca: 409a lsls r2, r3
+ 80029cc: 0013 movs r3, r2
+ 80029ce: 2280 movs r2, #128 ; 0x80
+ 80029d0: 4013 ands r3, r2
+ 80029d2: d007 beq.n 80029e4
{
HC595_DCK(1);
- 80029d0: 2390 movs r3, #144 ; 0x90
- 80029d2: 05db lsls r3, r3, #23
- 80029d4: 2201 movs r2, #1
- 80029d6: 2120 movs r1, #32
- 80029d8: 0018 movs r0, r3
- 80029da: f7fe fef0 bl 80017be
- 80029de: e006 b.n 80029ee
+ 80029d4: 2390 movs r3, #144 ; 0x90
+ 80029d6: 05db lsls r3, r3, #23
+ 80029d8: 2201 movs r2, #1
+ 80029da: 2120 movs r1, #32
+ 80029dc: 0018 movs r0, r3
+ 80029de: f7fe feee bl 80017be
+ 80029e2: e006 b.n 80029f2
}else
{
HC595_DCK(0);
- 80029e0: 2390 movs r3, #144 ; 0x90
- 80029e2: 05db lsls r3, r3, #23
- 80029e4: 2200 movs r2, #0
- 80029e6: 2120 movs r1, #32
- 80029e8: 0018 movs r0, r3
- 80029ea: f7fe fee8 bl 80017be
+ 80029e4: 2390 movs r3, #144 ; 0x90
+ 80029e6: 05db lsls r3, r3, #23
+ 80029e8: 2200 movs r2, #0
+ 80029ea: 2120 movs r1, #32
+ 80029ec: 0018 movs r0, r3
+ 80029ee: f7fe fee6 bl 80017be
}
HC595_SCK2(1);
- 80029ee: 2380 movs r3, #128 ; 0x80
- 80029f0: 0099 lsls r1, r3, #2
- 80029f2: 2390 movs r3, #144 ; 0x90
- 80029f4: 05db lsls r3, r3, #23
- 80029f6: 2201 movs r2, #1
- 80029f8: 0018 movs r0, r3
- 80029fa: f7fe fee0 bl 80017be
+ 80029f2: 2380 movs r3, #128 ; 0x80
+ 80029f4: 0099 lsls r1, r3, #2
+ 80029f6: 2390 movs r3, #144 ; 0x90
+ 80029f8: 05db lsls r3, r3, #23
+ 80029fa: 2201 movs r2, #1
+ 80029fc: 0018 movs r0, r3
+ 80029fe: f7fe fede bl 80017be
HC595_SCK2(0);
- 80029fe: 2380 movs r3, #128 ; 0x80
- 8002a00: 0099 lsls r1, r3, #2
- 8002a02: 2390 movs r3, #144 ; 0x90
- 8002a04: 05db lsls r3, r3, #23
- 8002a06: 2200 movs r2, #0
- 8002a08: 0018 movs r0, r3
- 8002a0a: f7fe fed8 bl 80017be
+ 8002a02: 2380 movs r3, #128 ; 0x80
+ 8002a04: 0099 lsls r1, r3, #2
+ 8002a06: 2390 movs r3, #144 ; 0x90
+ 8002a08: 05db lsls r3, r3, #23
+ 8002a0a: 2200 movs r2, #0
+ 8002a0c: 0018 movs r0, r3
+ 8002a0e: f7fe fed6 bl 80017be
for(char a=0;a<8;a++)
- 8002a0e: 210f movs r1, #15
- 8002a10: 187b adds r3, r7, r1
- 8002a12: 781a ldrb r2, [r3, #0]
+ 8002a12: 210f movs r1, #15
8002a14: 187b adds r3, r7, r1
- 8002a16: 3201 adds r2, #1
- 8002a18: 701a strb r2, [r3, #0]
- 8002a1a: 230f movs r3, #15
- 8002a1c: 18fb adds r3, r7, r3
- 8002a1e: 781b ldrb r3, [r3, #0]
- 8002a20: 2b07 cmp r3, #7
- 8002a22: d9cb bls.n 80029bc
+ 8002a16: 781a ldrb r2, [r3, #0]
+ 8002a18: 187b adds r3, r7, r1
+ 8002a1a: 3201 adds r2, #1
+ 8002a1c: 701a strb r2, [r3, #0]
+ 8002a1e: 230f movs r3, #15
+ 8002a20: 18fb adds r3, r7, r3
+ 8002a22: 781b ldrb r3, [r3, #0]
+ 8002a24: 2b07 cmp r3, #7
+ 8002a26: d9cb bls.n 80029c0
}
HC595_RCK(1);
- 8002a24: 2390 movs r3, #144 ; 0x90
- 8002a26: 05db lsls r3, r3, #23
- 8002a28: 2201 movs r2, #1
- 8002a2a: 2180 movs r1, #128 ; 0x80
- 8002a2c: 0018 movs r0, r3
- 8002a2e: f7fe fec6 bl 80017be
+ 8002a28: 2390 movs r3, #144 ; 0x90
+ 8002a2a: 05db lsls r3, r3, #23
+ 8002a2c: 2201 movs r2, #1
+ 8002a2e: 2180 movs r1, #128 ; 0x80
+ 8002a30: 0018 movs r0, r3
+ 8002a32: f7fe fec4 bl 80017be
HC595_RCK(0);
- 8002a32: 2390 movs r3, #144 ; 0x90
- 8002a34: 05db lsls r3, r3, #23
- 8002a36: 2200 movs r2, #0
- 8002a38: 2180 movs r1, #128 ; 0x80
- 8002a3a: 0018 movs r0, r3
- 8002a3c: f7fe febf bl 80017be
+ 8002a36: 2390 movs r3, #144 ; 0x90
+ 8002a38: 05db lsls r3, r3, #23
+ 8002a3a: 2200 movs r2, #0
+ 8002a3c: 2180 movs r1, #128 ; 0x80
+ 8002a3e: 0018 movs r0, r3
+ 8002a40: f7fe febd bl 80017be
}
- 8002a40: 46c0 nop ; (mov r8, r8)
- 8002a42: 46bd mov sp, r7
- 8002a44: b004 add sp, #16
- 8002a46: bd80 pop {r7, pc}
+ 8002a44: 46c0 nop ; (mov r8, r8)
+ 8002a46: 46bd mov sp, r7
+ 8002a48: b004 add sp, #16
+ 8002a4a: bd80 pop {r7, pc}
-08002a48 :
+08002a4c :
void hc2_sever()
{
- 8002a48: b580 push {r7, lr}
- 8002a4a: b082 sub sp, #8
- 8002a4c: af00 add r7, sp, #0
+ 8002a4c: b580 push {r7, lr}
+ 8002a4e: b082 sub sp, #8
+ 8002a50: af00 add r7, sp, #0
char h=0;
- 8002a4e: 1dfb adds r3, r7, #7
- 8002a50: 2200 movs r2, #0
- 8002a52: 701a strb r2, [r3, #0]
+ 8002a52: 1dfb adds r3, r7, #7
+ 8002a54: 2200 movs r2, #0
+ 8002a56: 701a strb r2, [r3, #0]
if(dis_buff.led_run==1)
- 8002a54: 4b24 ldr r3, [pc, #144] ; (8002ae8 )
- 8002a56: 7a1b ldrb r3, [r3, #8]
- 8002a58: 2210 movs r2, #16
- 8002a5a: 4013 ands r3, r2
- 8002a5c: b2db uxtb r3, r3
- 8002a5e: 2b00 cmp r3, #0
- 8002a60: d005 beq.n 8002a6e
+ 8002a58: 4b1d ldr r3, [pc, #116] ; (8002ad0 )
+ 8002a5a: 7b1b ldrb r3, [r3, #12]
+ 8002a5c: 2b01 cmp r3, #1
+ 8002a5e: d105 bne.n 8002a6c
{
h|=0x01;
- 8002a62: 1dfb adds r3, r7, #7
- 8002a64: 1dfa adds r2, r7, #7
- 8002a66: 7812 ldrb r2, [r2, #0]
- 8002a68: 2101 movs r1, #1
- 8002a6a: 430a orrs r2, r1
- 8002a6c: 701a strb r2, [r3, #0]
+ 8002a60: 1dfb adds r3, r7, #7
+ 8002a62: 1dfa adds r2, r7, #7
+ 8002a64: 7812 ldrb r2, [r2, #0]
+ 8002a66: 2101 movs r1, #1
+ 8002a68: 430a orrs r2, r1
+ 8002a6a: 701a strb r2, [r3, #0]
}
if(dis_buff.moto1a==1)
- 8002a6e: 4b1e ldr r3, [pc, #120] ; (8002ae8 )
- 8002a70: 7a1b ldrb r3, [r3, #8]
- 8002a72: 2220 movs r2, #32
- 8002a74: 4013 ands r3, r2
- 8002a76: b2db uxtb r3, r3
- 8002a78: 2b00 cmp r3, #0
- 8002a7a: d005 beq.n 8002a88
+ 8002a6c: 4b18 ldr r3, [pc, #96] ; (8002ad0 )
+ 8002a6e: 7b5b ldrb r3, [r3, #13]
+ 8002a70: 2b01 cmp r3, #1
+ 8002a72: d105 bne.n 8002a80
{
h|=0x02;
- 8002a7c: 1dfb adds r3, r7, #7
- 8002a7e: 1dfa adds r2, r7, #7
- 8002a80: 7812 ldrb r2, [r2, #0]
- 8002a82: 2102 movs r1, #2
- 8002a84: 430a orrs r2, r1
- 8002a86: 701a strb r2, [r3, #0]
+ 8002a74: 1dfb adds r3, r7, #7
+ 8002a76: 1dfa adds r2, r7, #7
+ 8002a78: 7812 ldrb r2, [r2, #0]
+ 8002a7a: 2102 movs r1, #2
+ 8002a7c: 430a orrs r2, r1
+ 8002a7e: 701a strb r2, [r3, #0]
}
if(dis_buff.moto1b==1)
- 8002a88: 4b17 ldr r3, [pc, #92] ; (8002ae8 )
- 8002a8a: 7a1b ldrb r3, [r3, #8]
- 8002a8c: 2240 movs r2, #64 ; 0x40
- 8002a8e: 4013 ands r3, r2
- 8002a90: b2db uxtb r3, r3
- 8002a92: 2b00 cmp r3, #0
- 8002a94: d005 beq.n 8002aa2
+ 8002a80: 4b13 ldr r3, [pc, #76] ; (8002ad0 )
+ 8002a82: 7b9b ldrb r3, [r3, #14]
+ 8002a84: 2b01 cmp r3, #1
+ 8002a86: d105 bne.n 8002a94
{
h|=0x04;
- 8002a96: 1dfb adds r3, r7, #7
- 8002a98: 1dfa adds r2, r7, #7
- 8002a9a: 7812 ldrb r2, [r2, #0]
- 8002a9c: 2104 movs r1, #4
- 8002a9e: 430a orrs r2, r1
- 8002aa0: 701a strb r2, [r3, #0]
+ 8002a88: 1dfb adds r3, r7, #7
+ 8002a8a: 1dfa adds r2, r7, #7
+ 8002a8c: 7812 ldrb r2, [r2, #0]
+ 8002a8e: 2104 movs r1, #4
+ 8002a90: 430a orrs r2, r1
+ 8002a92: 701a strb r2, [r3, #0]
}
if(dis_buff.moto2a==1)
- 8002aa2: 4b11 ldr r3, [pc, #68] ; (8002ae8 )
- 8002aa4: 7a1b ldrb r3, [r3, #8]
- 8002aa6: 227f movs r2, #127 ; 0x7f
- 8002aa8: 4393 bics r3, r2
- 8002aaa: b2db uxtb r3, r3
- 8002aac: 2b00 cmp r3, #0
- 8002aae: d005 beq.n 8002abc
+ 8002a94: 4b0e ldr r3, [pc, #56] ; (8002ad0 )
+ 8002a96: 7bdb ldrb r3, [r3, #15]
+ 8002a98: 2b01 cmp r3, #1
+ 8002a9a: d105 bne.n 8002aa8
{
h|=0x08;
+ 8002a9c: 1dfb adds r3, r7, #7
+ 8002a9e: 1dfa adds r2, r7, #7
+ 8002aa0: 7812 ldrb r2, [r2, #0]
+ 8002aa2: 2108 movs r1, #8
+ 8002aa4: 430a orrs r2, r1
+ 8002aa6: 701a strb r2, [r3, #0]
+ }
+ if(dis_buff.moto2b==1)
+ 8002aa8: 4b09 ldr r3, [pc, #36] ; (8002ad0 )
+ 8002aaa: 7c1b ldrb r3, [r3, #16]
+ 8002aac: 2b01 cmp r3, #1
+ 8002aae: d105 bne.n 8002abc
+ {
+ h|=0x10;
8002ab0: 1dfb adds r3, r7, #7
8002ab2: 1dfa adds r2, r7, #7
8002ab4: 7812 ldrb r2, [r2, #0]
- 8002ab6: 2108 movs r1, #8
+ 8002ab6: 2110 movs r1, #16
8002ab8: 430a orrs r2, r1
8002aba: 701a strb r2, [r3, #0]
- }
- if(dis_buff.moto2b==1)
- 8002abc: 4b0a ldr r3, [pc, #40] ; (8002ae8 )
- 8002abe: 7a5b ldrb r3, [r3, #9]
- 8002ac0: 2201 movs r2, #1
- 8002ac2: 4013 ands r3, r2
- 8002ac4: b2db uxtb r3, r3
- 8002ac6: 2b00 cmp r3, #0
- 8002ac8: d005 beq.n 8002ad6
- {
- h|=0x10;
- 8002aca: 1dfb adds r3, r7, #7
- 8002acc: 1dfa adds r2, r7, #7
- 8002ace: 7812 ldrb r2, [r2, #0]
- 8002ad0: 2110 movs r1, #16
- 8002ad2: 430a orrs r2, r1
- 8002ad4: 701a strb r2, [r3, #0]
}
Sand_Byte_to_595_2(h);
- 8002ad6: 1dfb adds r3, r7, #7
- 8002ad8: 781b ldrb r3, [r3, #0]
- 8002ada: 0018 movs r0, r3
- 8002adc: f7ff ff4a bl 8002974
+ 8002abc: 1dfb adds r3, r7, #7
+ 8002abe: 781b ldrb r3, [r3, #0]
+ 8002ac0: 0018 movs r0, r3
+ 8002ac2: f7ff ff55 bl 8002970
}
- 8002ae0: 46c0 nop ; (mov r8, r8)
- 8002ae2: 46bd mov sp, r7
- 8002ae4: b002 add sp, #8
- 8002ae6: bd80 pop {r7, pc}
- 8002ae8: 20000038 .word 0x20000038
+ 8002ac6: 46c0 nop ; (mov r8, r8)
+ 8002ac8: 46bd mov sp, r7
+ 8002aca: b002 add sp, #8
+ 8002acc: bd80 pop {r7, pc}
+ 8002ace: 46c0 nop ; (mov r8, r8)
+ 8002ad0: 20000038 .word 0x20000038
-08002aec :
+08002ad4 :
//motor cool start
void moto_server()
{
- 8002aec: b580 push {r7, lr}
- 8002aee: af00 add r7, sp, #0
+ 8002ad4: b580 push {r7, lr}
+ 8002ad6: af00 add r7, sp, #0
if(HAL_GetTick()>moto.moto_run)
- 8002af0: f7fd ff40 bl 8000974
- 8002af4: 0002 movs r2, r0
- 8002af6: 4b6c ldr r3, [pc, #432] ; (8002ca8 )
- 8002af8: 681b ldr r3, [r3, #0]
- 8002afa: 429a cmp r2, r3
- 8002afc: d800 bhi.n 8002b00
- 8002afe: e07e b.n 8002bfe
+ 8002ad8: f7fd ff4c bl 8000974
+ 8002adc: 0002 movs r2, r0
+ 8002ade: 4b63 ldr r3, [pc, #396] ; (8002c6c )
+ 8002ae0: 681b ldr r3, [r3, #0]
+ 8002ae2: 429a cmp r2, r3
+ 8002ae4: d800 bhi.n 8002ae8
+ 8002ae6: e07e b.n 8002be6
{
moto.moto_run=HAL_GetTick()+10;
- 8002b00: f7fd ff38 bl 8000974
- 8002b04: 0003 movs r3, r0
- 8002b06: 330a adds r3, #10
- 8002b08: 001a movs r2, r3
- 8002b0a: 4b67 ldr r3, [pc, #412] ; (8002ca8 )
- 8002b0c: 601a str r2, [r3, #0]
+ 8002ae8: f7fd ff44 bl 8000974
+ 8002aec: 0003 movs r3, r0
+ 8002aee: 330a adds r3, #10
+ 8002af0: 001a movs r2, r3
+ 8002af2: 4b5e ldr r3, [pc, #376] ; (8002c6c )
+ 8002af4: 601a str r2, [r3, #0]
if(moto.moto1a!=moto.moto1a_)
- 8002b0e: 4b66 ldr r3, [pc, #408] ; (8002ca8 )
- 8002b10: 7a1a ldrb r2, [r3, #8]
- 8002b12: 4b65 ldr r3, [pc, #404] ; (8002ca8 )
- 8002b14: 7b1b ldrb r3, [r3, #12]
- 8002b16: 429a cmp r2, r3
- 8002b18: d017 beq.n 8002b4a
+ 8002af6: 4b5d ldr r3, [pc, #372] ; (8002c6c )
+ 8002af8: 7a1a ldrb r2, [r3, #8]
+ 8002afa: 4b5c ldr r3, [pc, #368] ; (8002c6c )
+ 8002afc: 7b1b ldrb r3, [r3, #12]
+ 8002afe: 429a cmp r2, r3
+ 8002b00: d017 beq.n 8002b32
{
if(moto.moto1a>moto.moto1a_)
- 8002b1a: 4b63 ldr r3, [pc, #396] ; (8002ca8 )
- 8002b1c: 7a1a ldrb r2, [r3, #8]
- 8002b1e: 4b62 ldr r3, [pc, #392] ; (8002ca8 )
- 8002b20: 7b1b ldrb r3, [r3, #12]
- 8002b22: 429a cmp r2, r3
- 8002b24: d905 bls.n 8002b32
+ 8002b02: 4b5a ldr r3, [pc, #360] ; (8002c6c )
+ 8002b04: 7a1a ldrb r2, [r3, #8]
+ 8002b06: 4b59 ldr r3, [pc, #356] ; (8002c6c )
+ 8002b08: 7b1b ldrb r3, [r3, #12]
+ 8002b0a: 429a cmp r2, r3
+ 8002b0c: d905 bls.n 8002b1a
{
moto.moto1a_++;
- 8002b26: 4b60 ldr r3, [pc, #384] ; (8002ca8 )
- 8002b28: 7b1b ldrb r3, [r3, #12]
- 8002b2a: 3301 adds r3, #1
- 8002b2c: b2da uxtb r2, r3
- 8002b2e: 4b5e ldr r3, [pc, #376] ; (8002ca8 )
- 8002b30: 731a strb r2, [r3, #12]
+ 8002b0e: 4b57 ldr r3, [pc, #348] ; (8002c6c )
+ 8002b10: 7b1b ldrb r3, [r3, #12]
+ 8002b12: 3301 adds r3, #1
+ 8002b14: b2da uxtb r2, r3
+ 8002b16: 4b55 ldr r3, [pc, #340] ; (8002c6c )
+ 8002b18: 731a strb r2, [r3, #12]
}
if(moto.moto1a)
- 8002b34: 7a1a ldrb r2, [r3, #8]
- 8002b36: 4b5c ldr r3, [pc, #368] ; (8002ca8 )
- 8002b38: 7b1b ldrb r3, [r3, #12]
- 8002b3a: 429a cmp r2, r3
- 8002b3c: d205 bcs.n 8002b4a
+ 8002b1a: 4b54 ldr r3, [pc, #336] ; (8002c6c )
+ 8002b1c: 7a1a ldrb r2, [r3, #8]
+ 8002b1e: 4b53 ldr r3, [pc, #332] ; (8002c6c )
+ 8002b20: 7b1b ldrb r3, [r3, #12]
+ 8002b22: 429a cmp r2, r3
+ 8002b24: d205 bcs.n 8002b32
{
moto.moto1a_--;
- 8002b3e: 4b5a ldr r3, [pc, #360] ; (8002ca8 )
- 8002b40: 7b1b ldrb r3, [r3, #12]
- 8002b42: 3b01 subs r3, #1
- 8002b44: b2da uxtb r2, r3
- 8002b46: 4b58 ldr r3, [pc, #352] ; (8002ca8 )
- 8002b48: 731a strb r2, [r3, #12]
+ 8002b26: 4b51 ldr r3, [pc, #324] ; (8002c6c )
+ 8002b28: 7b1b ldrb r3, [r3, #12]
+ 8002b2a: 3b01 subs r3, #1
+ 8002b2c: b2da uxtb r2, r3
+ 8002b2e: 4b4f ldr r3, [pc, #316] ; (8002c6c )
+ 8002b30: 731a strb r2, [r3, #12]
}
}
if(moto.moto1b!=moto.moto1b_)
- 8002b4a: 4b57 ldr r3, [pc, #348] ; (8002ca8 )
- 8002b4c: 7a5a ldrb r2, [r3, #9]
- 8002b4e: 4b56 ldr r3, [pc, #344] ; (8002ca8 )
- 8002b50: 7b5b ldrb r3, [r3, #13]
- 8002b52: 429a cmp r2, r3
- 8002b54: d017 beq.n 8002b86
+ 8002b32: 4b4e ldr r3, [pc, #312] ; (8002c6c )
+ 8002b34: 7a5a ldrb r2, [r3, #9]
+ 8002b36: 4b4d ldr r3, [pc, #308] ; (8002c6c )
+ 8002b38: 7b5b ldrb r3, [r3, #13]
+ 8002b3a: 429a cmp r2, r3
+ 8002b3c: d017 beq.n 8002b6e
{
if(moto.moto1b>moto.moto1b_)
- 8002b56: 4b54 ldr r3, [pc, #336] ; (8002ca8 )
- 8002b58: 7a5a ldrb r2, [r3, #9]
- 8002b5a: 4b53 ldr r3, [pc, #332] ; (8002ca8