; generated by Component: ARM Compiler 5.06 update 7 (build 960) Tool: ArmCC [4d365d]
; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave -o"..\output\pwm_ independent.o" --asm_dir=..\List\ --list_dir=..\List\ --depend="..\output\pwm_ independent.d" --cpu=Cortex-M0+ --apcs=interwork --diag_suppress=9931 -I..\FWLib\SC32F1XXX_Lib\inc -I..\User\HeadFiles -I..\User -I..\Drivers -I..\Apps -I..\CMSIS -IF:\Users\SOC\AppData\Local\Arm\Packs\ARM\CMSIS\5.8.0\Device\ARM\ARMCM0plus\Include -D__UVISION_VERSION=536 -DARMCM0P -DSC32f10xx --omf_browse="..\output\pwm_ independent.crf" "..\Apps\PWM_ Independent.c"]
                          THUMB

                          AREA ||i.PWM_Independent_Function||, CODE, READONLY, ALIGN=2

                  PWM_Independent_Function PROC
;;;14     
;;;15     void PWM_Independent_Function(void)
000000  b51f              PUSH     {r0-r4,lr}
;;;16     {
;;;17       PWM_InitTypeDef PWM_InitStruct;
;;;18       
;;;19       /* 使能PWM0时钟 */
;;;20       RCC_APB0Cmd(ENABLE);
000002  2001              MOVS     r0,#1
000004  f7fffffe          BL       RCC_APB0Cmd
;;;21       RCC_APB0PeriphClockCmd(RCC_APB0Periph_PWM0,ENABLE);
000008  2101              MOVS     r1,#1
00000a  020c              LSLS     r4,r1,#8
00000c  4620              MOV      r0,r4
00000e  f7fffffe          BL       RCC_APB0PeriphClockCmd
;;;22       
;;;23       /* PWM配置结构体初始化 */
;;;24       PWM_StructInit(&PWM_InitStruct);
000012  4668              MOV      r0,sp
000014  f7fffffe          BL       PWM_StructInit
;;;25       
;;;26       /* 设置PWM配置结构体 */
;;;27       PWM_InitStruct.PWM_AlignedMode = PWM_AlignmentMode_Edge;//PWM对齐模式为边沿对齐
000018  2200              MOVS     r2,#0
00001a  4668              MOV      r0,sp
;;;28       PWM_InitStruct.PWM_Cycle = (uint16_t)(32000000/1000);	//PWM的频率为1000Hz
00001c  217d              MOVS     r1,#0x7d
00001e  8042              STRH     r2,[r0,#2]            ;27
000020  0209              LSLS     r1,r1,#8
000022  80c1              STRH     r1,[r0,#6]
;;;29       PWM_InitStruct.PWM_OutputChannel = PWM_Channel_0;	//使能PWM00输出
000024  2301              MOVS     r3,#1
;;;30       PWM_InitStruct.PWM_Prescaler = PWM_PRESCALER_DIV1;	//PWM0时钟分频为1分配
000026  9302              STR      r3,[sp,#8]
000028  8002              STRH     r2,[r0,#0]
;;;31       PWM_InitStruct.PWM_WorkMode = PWM_WorkMode_Independent;	//PWM0工作模式为独立模式
;;;32       
;;;33       PWM_Init(PWM0,&PWM_InitStruct);	//配置PWM0
00002a  4d0d              LDR      r5,|L1.96|
00002c  8082              STRH     r2,[r0,#4]            ;31
00002e  4669              MOV      r1,sp
000030  4628              MOV      r0,r5
000032  f7fffffe          BL       PWM_Init
;;;34       
;;;35       PWM_SetDuty(PWM0,PWM_Channel_0,PWM_InitStruct.PWM_Cycle / 2);	//配置占空比为50%
000036  4668              MOV      r0,sp
000038  88c0              LDRH     r0,[r0,#6]
00003a  2101              MOVS     r1,#1
00003c  0842              LSRS     r2,r0,#1
00003e  4628              MOV      r0,r5
000040  f7fffffe          BL       PWM_SetDuty
;;;36       
;;;37       /* 使能PWM0中断 */
;;;38       PWM_ITConfig(PWM0,PWM_IT_INTEN,ENABLE);
000044  2201              MOVS     r2,#1
000046  4621              MOV      r1,r4
000048  4628              MOV      r0,r5
00004a  f7fffffe          BL       PWM_ITConfig
00004e  4905              LDR      r1,|L1.100|
000050  0360              LSLS     r0,r4,#13
000052  6008              STR      r0,[r1,#0]
;;;39       NVIC_EnableIRQ(PWM0_IRQn);
;;;40       
;;;41       /* PWM外设初始化 */
;;;42       PWM_Cmd(PWM0,ENABLE);
000054  2101              MOVS     r1,#1
000056  4628              MOV      r0,r5
000058  f7fffffe          BL       PWM_Cmd
                  |L1.92|
;;;43       
;;;44       while(1);
00005c  e7fe              B        |L1.92|
;;;45     }
;;;46     
                          ENDP

00005e  0000              DCW      0x0000
                  |L1.96|
                          DCD      0x40020200
                  |L1.100|
                          DCD      0xe000e100

                          AREA ||i.PWM_Independent_PWMHandler||, CODE, READONLY, ALIGN=2

                  PWM_Independent_PWMHandler PROC
;;;46     
;;;47     void PWM_Independent_PWMHandler(void)
000000  b510              PUSH     {r4,lr}
;;;48     {
;;;49       /* 判断PWM0中断是否置起 */
;;;50       if(PWM_GetFlagStatus(PWM0,PWM_Flag_PWMIF) == SET)
000002  4c06              LDR      r4,|L2.28|
000004  2101              MOVS     r1,#1
000006  4620              MOV      r0,r4
000008  f7fffffe          BL       PWM_GetFlagStatus
00000c  2801              CMP      r0,#1
00000e  d103              BNE      |L2.24|
;;;51       {
;;;52         PWM_ClearFlag(PWM0,PWM_Flag_PWMIF);	//清除PWM0中断
000010  2101              MOVS     r1,#1
000012  4620              MOV      r0,r4
000014  f7fffffe          BL       PWM_ClearFlag
                  |L2.24|
;;;53       }
;;;54     }
000018  bd10              POP      {r4,pc}
;;;55     #endif
                          ENDP

00001a  0000              DCW      0x0000
                  |L2.28|
                          DCD      0x40020200

;*** Start embedded assembler ***

#line 1 "..\\Apps\\PWM_ Independent.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___18_PWM__Independent_c_8b4d8ba3____REV16|
#line 463 "..\\CMSIS\\cmsis_armcc.h"
|__asm___18_PWM__Independent_c_8b4d8ba3____REV16| PROC
#line 464

 rev16 r0, r0
 bx lr
	ENDP
	AREA ||.revsh_text||, CODE
	THUMB
	EXPORT |__asm___18_PWM__Independent_c_8b4d8ba3____REVSH|
#line 478
|__asm___18_PWM__Independent_c_8b4d8ba3____REVSH| PROC
#line 479

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
