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

📄 main.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 3 页
字号:
;;;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 + -