📄 main.txt
字号:
;;;243 /* Enable the EXTI15_10 Interrupt */
;;;244 NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQChannel;
00006e 2028 MOVS r0,#0x28
000070 f88d0008 STRB r0,[sp,#8]
;;;245 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
000074 f88d5009 STRB r5,[sp,#9]
;;;246 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
000078 2500 MOVS r5,#0
00007a f88d500a STRB r5,[sp,#0xa]
;;;247 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
00007e f88d400b STRB r4,[sp,#0xb]
;;;248 NVIC_Init(&NVIC_InitStructure);
000082 a802 ADD r0,sp,#8
000084 f7fffffe BL NVIC_Init
;;;249
;;;250 /* Enable the RTC Interrupt */
;;;251 NVIC_InitStructure.NVIC_IRQChannel = RTC_IRQChannel;
000088 2703 MOVS r7,#3
00008a f88d7008 STRB r7,[sp,#8]
;;;252 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
00008e f88d5009 STRB r5,[sp,#9]
;;;253 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
000092 f88d500a STRB r5,[sp,#0xa]
;;;254 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
000096 f88d400b STRB r4,[sp,#0xb]
;;;255 NVIC_Init(&NVIC_InitStructure);
00009a a802 ADD r0,sp,#8
00009c f7fffffe BL NVIC_Init
;;;256
;;;257
;;;258 /* Enable the USB_LP_CAN_RX0 Interrupt */
;;;259 NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN_RX0_IRQChannel;
0000a0 2014 MOVS r0,#0x14
0000a2 f88d0008 STRB r0,[sp,#8]
;;;260 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
0000a6 f88d4009 STRB r4,[sp,#9]
;;;261 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
0000aa f88d500a STRB r5,[sp,#0xa]
;;;262 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
0000ae f88d400b STRB r4,[sp,#0xb]
;;;263 NVIC_Init(&NVIC_InitStructure);
0000b2 a802 ADD r0,sp,#8
0000b4 f7fffffe BL NVIC_Init
;;;264
;;;265 /* Enable the USB_HP_CAN_TX Interrupt */
;;;266 NVIC_InitStructure.NVIC_IRQChannel = USB_HP_CAN_TX_IRQChannel;
0000b8 2013 MOVS r0,#0x13
0000ba f88d0008 STRB r0,[sp,#8]
;;;267 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
0000be f88d5009 STRB r5,[sp,#9]
;;;268 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
0000c2 f88d400a STRB r4,[sp,#0xa]
;;;269 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
0000c6 f88d400b STRB r4,[sp,#0xb]
;;;270 NVIC_Init(&NVIC_InitStructure);
0000ca a802 ADD r0,sp,#8
0000cc f7fffffe BL NVIC_Init
;;;271
;;;272 /* Enable the TIM1 UP Interrupt */
;;;273 NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQChannel;
0000d0 2019 MOVS r0,#0x19
0000d2 f88d0008 STRB r0,[sp,#8]
;;;274 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
0000d6 f88d4009 STRB r4,[sp,#9]
;;;275 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
0000da f88d700a STRB r7,[sp,#0xa]
;;;276 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
0000de f88d400b STRB r4,[sp,#0xb]
;;;277 NVIC_Init(&NVIC_InitStructure);
0000e2 a802 ADD r0,sp,#8
0000e4 f7fffffe BL NVIC_Init
;;;278
;;;279 /* Enable the RTC Alarm Interrupt */
;;;280 NVIC_InitStructure.NVIC_IRQChannel = RTCAlarm_IRQChannel;
0000e8 2029 MOVS r0,#0x29
0000ea f88d0008 STRB r0,[sp,#8]
;;;281 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
0000ee f88d4009 STRB r4,[sp,#9]
;;;282 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
0000f2 f88d400a STRB r4,[sp,#0xa]
;;;283 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
0000f6 f88d400b STRB r4,[sp,#0xb]
;;;284 NVIC_Init(&NVIC_InitStructure);
0000fa a802 ADD r0,sp,#8
0000fc f7fffffe BL NVIC_Init
;;;285
;;;286 /* Enable the EXTI Line17 Interrupt */
;;;287 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
000100 f88d5004 STRB r5,[sp,#4]
;;;288 EXTI_InitStructure.EXTI_Line = EXTI_Line17;
000104 0460 LSLS r0,r4,#17
;;;289 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
000106 9000 STR r0,[sp,#0]
000108 f88d6005 STRB r6,[sp,#5]
;;;290 EXTI_InitStructure.EXTI_LineCmd = ENABLE;
00010c f88d4006 STRB r4,[sp,#6]
;;;291 EXTI_Init(&EXTI_InitStructure);
000110 4668 MOV r0,sp
000112 f7fffffe BL EXTI_Init
;;;292 }
000116 bdfe POP {r1-r7,pc}
;;;293
ENDP
|L10.280|
DCD 0x0002c39a
AREA ||i.LedShow||, CODE, READONLY, ALIGN=2
LedShow PROC
;;;515 *******************************************************************************/
;;;516 void LedShow(FunctionalState NewState)
000000 b510 PUSH {r4,lr}
;;;517 {
;;;518 /* Enable LEDs toggling */
;;;519 if(NewState == ENABLE)
;;;520 {
;;;521 LedShowStatus = 1;
000002 490c LDR r1,|L11.52|
;;;522 /* Enable the TIM1 Update Interrupt */
;;;523 TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);
000004 4c0c LDR r4,|L11.56|
000006 2801 CMP r0,#1 ;519
000008 d107 BNE |L11.26|
00000a 6088 STR r0,[r1,#8] ;521 ; LedShowStatus
00000c 4602 MOV r2,r0
00000e 4601 MOV r1,r0
000010 4620 MOV r0,r4
000012 f7fffffe BL TIM_ITConfig
;;;524 /* TIM1 counter enable */
;;;525 TIM_Cmd(TIM1, ENABLE);
000016 2101 MOVS r1,#1
000018 e007 B |L11.42|
|L11.26|
;;;526 }
;;;527 /* Disable LEDs toggling */
;;;528 else
;;;529 {
;;;530 LedShowStatus = 0;
00001a 2000 MOVS r0,#0
00001c 6088 STR r0,[r1,#8] ; LedShowStatus
;;;531 /* Disable the TIM1 Update Interrupt */
;;;532 TIM_ITConfig(TIM1, TIM_IT_Update, DISABLE);
00001e 4602 MOV r2,r0
000020 2101 MOVS r1,#1
000022 4620 MOV r0,r4
000024 f7fffffe BL TIM_ITConfig
;;;533 /* TIM1 counter disable */
;;;534 TIM_Cmd(TIM1, DISABLE);
000028 2100 MOVS r1,#0
|L11.42|
00002a 4620 MOV r0,r4
00002c e8bd4010 POP {r4,lr}
000030 f7ffbffe B.W TIM_Cmd
;;;535 }
;;;536 }
;;;537
ENDP
|L11.52|
DCD ||.data||
|L11.56|
DCD 0x40012c00
AREA ||i.LedShow_Init||, CODE, READONLY, ALIGN=2
LedShow_Init PROC
;;;475 *******************************************************************************/
;;;476 void LedShow_Init(void)
000000 b530 PUSH {r4,r5,lr}
;;;477 {
000002 b089 SUB sp,sp,#0x24
;;;478 GPIO_InitTypeDef GPIO_InitStructure;
;;;479 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
;;;480 TIM_OCInitTypeDef TIM_OCInitStructure;
;;;481
;;;482 TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
000004 a805 ADD r0,sp,#0x14
000006 f7fffffe BL TIM_TimeBaseStructInit
;;;483 TIM_OCStructInit(&TIM_OCInitStructure);
00000a a801 ADD r0,sp,#4
00000c f7fffffe BL TIM_OCStructInit
;;;484
;;;485 /* PF.06, PF.07, PF.08 and PF.09 as output push-pull */
;;;486 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
000010 f44f7070 MOV r0,#0x3c0
000014 f8ad0020 STRH r0,[sp,#0x20]
;;;487 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
000018 2003 MOVS r0,#3
00001a f88d0022 STRB r0,[sp,#0x22]
;;;488 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
00001e 2010 MOVS r0,#0x10
000020 f88d0023 STRB r0,[sp,#0x23]
;;;489 GPIO_Init(GPIOF, &GPIO_InitStructure);
000024 a908 ADD r1,sp,#0x20
000026 4813 LDR r0,|L12.116|
000028 f7fffffe BL GPIO_Init
;;;490
;;;491 /* Time Base configuration */
;;;492 TIM_TimeBaseStructure.TIM_Prescaler = 719;
00002c f24020cf MOV r0,#0x2cf
000030 f8ad0014 STRH r0,[sp,#0x14]
;;;493 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
000034 2400 MOVS r4,#0
;;;494 TIM_TimeBaseStructure.TIM_Period = 0x270F;
000036 f242700f MOV r0,#0x270f
00003a f8ad0018 STRH r0,[sp,#0x18]
;;;495 TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
;;;496 TIM_TimeBaseStructure.TIM_RepetitionCounter = 0x0;
;;;497
;;;498 TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
00003e 4d0e LDR r5,|L12.120|
000040 f8ad4016 STRH r4,[sp,#0x16] ;493
000044 f8ad401a STRH r4,[sp,#0x1a] ;495
000048 f88d401c STRB r4,[sp,#0x1c] ;496
00004c a905 ADD r1,sp,#0x14
00004e 4628 MOV r0,r5
000050 f7fffffe BL TIM_TimeBaseInit
;;;499
;;;500 /* Channel 1 Configuration in Timing mode */
;;;501 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Timing;
000054 f8ad4004 STRH r4,[sp,#4]
;;;502 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
000058 2001 MOVS r0,#1
00005a f8ad0006 STRH r0,[sp,#6]
;;;503 TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;
00005e f8ad4008 STRH r4,[sp,#8]
;;;504 TIM_OCInitStructure.TIM_Pulse = 0x0;
000062 f8ad400a STRH r4,[sp,#0xa]
;;;505
;;;506 TIM_OC1Init(TIM1, &TIM_OCInitStructure);
000066 a901 ADD r1,sp,#4
000068 4628 MOV r0,r5
00006a f7fffffe BL TIM_OC1Init
;;;507 }
00006e b009 ADD sp,sp,#0x24
000070 bd30 POP {r4,r5,pc}
;;;508
ENDP
000072 0000 DCW 0x0000
|L12.116|
DCD 0x40011c00
|L12.120|
DCD 0x40012c00
AREA ||i.Set_SELStatus||, CODE, READONLY, ALIGN=2
Set_SELStatus PROC
;;;462 *******************************************************************************/
;;;463 void Set_SELStatus(void)
000000 4901 LDR r1,|L13.8|
;;;464 {
;;;465 SELStatus = 1;
000002 2001 MOVS r0,#1
000004 60c8 STR r0,[r1,#0xc] ; SELStatus
;;;466 }
000006 4770 BX lr
;;;467
ENDP
|L13.8|
DCD ||.data||
AREA ||i.SysTick_Config||, CODE, READONLY, ALIGN=2
SysTick_Config PROC
;;;300 *******************************************************************************/
;;;301 void SysTick_Config(void)
000000 b510 PUSH {r4,lr}
;;;302 {
;;;303 /* Configure HCLK clock as SysTick clock source */
;;;304 SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
000002 2004 MOVS r0,#4
000004 f7fffffe BL SysTick_CLKSourceConfig
;;;305
;;;306 /* SysTick interrupt each 100 Hz with HCLK equal to 72MHz */
;;;307 SysTick_SetReload(72000);
000008 4803 LDR r0,|L14.24|
00000a f7fffffe BL SysTick_SetReload
;;;308
;;;309 /* Enable the SysTick Interrupt */
;;;310 SysTick_ITConfig(ENABLE);
00000e e8bd4010 POP {r4,lr}
000012 2001 MOVS r0,#1
000014 f7ffbffe B.W SysTick_ITConfig
;;;311 }
;;;312
ENDP
|L14.24|
DCD 0x00011940
AREA ||i.main||, CODE, READONLY, ALIGN=2
main PROC
;;;41
;;;42 int main(void)
000000 b510 PUSH {r4,lr}
;;;43 {
;;;44 #ifdef DEBUG
;;;45 debug();
;;;46 #endif
;;;47
;;;48 /* Initialize the Demo */
;;;49 Demo_Init();
000002 f7fffffe BL Demo_Init
;;;50
;;;51 while (1)
;;;52 {
;;;53 /* If SEL pushbutton is pressed */
;;;54 if(ReadKey() == SEL)
000006 bf00 NOP
|L15.8|
000008 f7fffffe BL ReadKey
00000c 2801 CMP r0,#1
00000e d1fb BNE |L15.8|
;;;55 {
;;;56 /* External Interrupt Disable */
;;;57 // IntExtOnOffConfig(DISABLE);
;;;58
;;;59 /* Execute Sel Function */
;;;60 SelFunc();
000010 f7fffffe BL SelFunc
000014 e7f8 B |L15.8|
;;;61
;;;62 /* External Interrupt Enable */
;;;63 // IntExtOnOffConfig(ENABLE);
;;;64 /* Reset SELStatus value */
;;;65 // SELStatus = 0;
;;;66 }
;;;67 }
;;;68 }
;;;69
ENDP
AREA ||.data||, DATA, ALIGN=2
HSEStartUpStatus
000000 01000000 DCB 0x01,0x00,0x00,0x00
TimingDelay
DCD 0x00000000
LedShowStatus
DCD 0x00000000
SELStatus
DCD 0x00000000
__ARM_use_no_argv EQU 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -