From dd74e179158ace4fe2d06606060a81c4bd4cf8be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E5=9B=A2=E5=90=9B?= <596017521@qq.com> Date: Mon, 15 Apr 2024 16:51:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Core/Src/adc.c | 22 + Core/Src/gpio.c | 12 - Core/Src/stm32l0xx_it.c | 40 +- MDK-ARM/motor.uvoptx | 44 +- MDK-ARM/motor/motor.hex | 904 +++++++++++++++--------------- MDK-ARM/startup_stm32l072xx.lst | 938 -------------------------------- User/board/board.c | 10 +- User/board/board.h | 4 +- User/board/motor.c | 8 +- User/board/motor.h | 4 +- motor.ioc | 28 +- 11 files changed, 537 insertions(+), 1477 deletions(-) delete mode 100644 MDK-ARM/startup_stm32l072xx.lst diff --git a/Core/Src/adc.c b/Core/Src/adc.c index 422aee4..07769bf 100644 --- a/Core/Src/adc.c +++ b/Core/Src/adc.c @@ -41,14 +41,28 @@ void MX_ADC_Init(void) LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_ADC1); LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOC); + LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOA); + LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOB); /**ADC GPIO Configuration PC3 ------> ADC_IN13 + PA7 ------> ADC_IN7 + PB0 ------> ADC_IN8 */ GPIO_InitStruct.Pin = MG_ADC_IN13_Pin; GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG; GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; LL_GPIO_Init(MG_ADC_IN13_GPIO_Port, &GPIO_InitStruct); + GPIO_InitStruct.Pin = LL_GPIO_PIN_7; + GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + LL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + GPIO_InitStruct.Pin = LL_GPIO_PIN_0; + GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + LL_GPIO_Init(GPIOB, &GPIO_InitStruct); + /* ADC DMA Init */ /* ADC Init */ @@ -72,6 +86,14 @@ void MX_ADC_Init(void) /* USER CODE END ADC_Init 1 */ + /** Configure Regular Channel + */ + LL_ADC_REG_SetSequencerChAdd(ADC1, LL_ADC_CHANNEL_7); + + /** Configure Regular Channel + */ + LL_ADC_REG_SetSequencerChAdd(ADC1, LL_ADC_CHANNEL_8); + /** Configure Regular Channel */ LL_ADC_REG_SetSequencerChAdd(ADC1, LL_ADC_CHANNEL_13); diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c index cc30c5f..6278bb3 100644 --- a/Core/Src/gpio.c +++ b/Core/Src/gpio.c @@ -138,12 +138,6 @@ void MX_GPIO_Init(void) GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; LL_GPIO_Init(GPIOA, &GPIO_InitStruct); - /**/ - GPIO_InitStruct.Pin = LL_GPIO_PIN_7; - GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG; - GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - LL_GPIO_Init(GPIOA, &GPIO_InitStruct); - /**/ GPIO_InitStruct.Pin = LL_GPIO_PIN_4; GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG; @@ -156,12 +150,6 @@ void MX_GPIO_Init(void) GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; LL_GPIO_Init(GPIOC, &GPIO_InitStruct); - /**/ - GPIO_InitStruct.Pin = LL_GPIO_PIN_0; - GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG; - GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - LL_GPIO_Init(GPIOB, &GPIO_InitStruct); - /**/ GPIO_InitStruct.Pin = LL_GPIO_PIN_1; GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG; diff --git a/Core/Src/stm32l0xx_it.c b/Core/Src/stm32l0xx_it.c index 21674ef..9393934 100644 --- a/Core/Src/stm32l0xx_it.c +++ b/Core/Src/stm32l0xx_it.c @@ -68,8 +68,8 @@ extern motor_t *motor; /* Cortex-M0+ Processor Interruption and Exception Handlers */ /******************************************************************************/ /** - * @brief This function handles Non maskable Interrupt. - */ + * @brief This function handles Non maskable Interrupt. + */ void NMI_Handler(void) { /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ @@ -83,8 +83,8 @@ void NMI_Handler(void) } /** - * @brief This function handles Hard fault interrupt. - */ + * @brief This function handles Hard fault interrupt. + */ void HardFault_Handler(void) { /* USER CODE BEGIN HardFault_IRQn 0 */ @@ -98,8 +98,8 @@ void HardFault_Handler(void) } /** - * @brief This function handles System service call via SWI instruction. - */ + * @brief This function handles System service call via SWI instruction. + */ void SVC_Handler(void) { /* USER CODE BEGIN SVC_IRQn 0 */ @@ -111,8 +111,8 @@ void SVC_Handler(void) } /** - * @brief This function handles Pendable request for system service. - */ + * @brief This function handles Pendable request for system service. + */ void PendSV_Handler(void) { /* USER CODE BEGIN PendSV_IRQn 0 */ @@ -124,8 +124,8 @@ void PendSV_Handler(void) } /** - * @brief This function handles System tick timer. - */ + * @brief This function handles System tick timer. + */ void SysTick_Handler(void) { /* USER CODE BEGIN SysTick_IRQn 0 */ @@ -145,8 +145,8 @@ void SysTick_Handler(void) /******************************************************************************/ /** - * @brief This function handles DMA1 channel 1 interrupt. - */ + * @brief This function handles DMA1 channel 1 interrupt. + */ void DMA1_Channel1_IRQHandler(void) { /* USER CODE BEGIN DMA1_Channel1_IRQn 0 */ @@ -159,8 +159,8 @@ void DMA1_Channel1_IRQHandler(void) } /** - * @brief This function handles DMA1 channel 2 and channel 3 interrupts. - */ + * @brief This function handles DMA1 channel 2 and channel 3 interrupts. + */ void DMA1_Channel2_3_IRQHandler(void) { /* USER CODE BEGIN DMA1_Channel2_3_IRQn 0 */ @@ -173,8 +173,8 @@ void DMA1_Channel2_3_IRQHandler(void) } /** - * @brief This function handles TIM6 global interrupt and DAC1/DAC2 underrun error interrupts. - */ + * @brief This function handles TIM6 global interrupt and DAC1/DAC2 underrun error interrupts. + */ void TIM6_DAC_IRQHandler(void) { /* USER CODE BEGIN TIM6_DAC_IRQn 0 */ @@ -191,8 +191,8 @@ void TIM6_DAC_IRQHandler(void) } /** - * @brief This function handles TIM21 global interrupt. - */ + * @brief This function handles TIM21 global interrupt. + */ void TIM21_IRQHandler(void) { /* USER CODE BEGIN TIM21_IRQn 0 */ @@ -210,8 +210,8 @@ void TIM21_IRQHandler(void) } /** - * @brief This function handles USART1 global interrupt / USART1 wake-up interrupt through EXTI line 25. - */ + * @brief This function handles USART1 global interrupt / USART1 wake-up interrupt through EXTI line 25. + */ void USART1_IRQHandler(void) { /* USER CODE BEGIN USART1_IRQn 0 */ diff --git a/MDK-ARM/motor.uvoptx b/MDK-ARM/motor.uvoptx index 16e224c..8a2955b 100644 --- a/MDK-ARM/motor.uvoptx +++ b/MDK-ARM/motor.uvoptx @@ -145,27 +145,10 @@ 0 ST-LINKIII-KEIL_SWO - -U-O142 -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(0BC11477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L0xx_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32L072RBTx$CMSIS\Flash\STM32L0xx_128.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 + -US -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(0BC11477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L0xx_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32L072RBTx$CMSIS\Flash\STM32L0xx_128.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 - - - 0 - 0 - 207 - 1 -
134223234
- 0 - 0 - 0 - 0 - 0 - 1 - ../Core/Src/stm32l0xx_it.c - - \\motor\../Core/Src/stm32l0xx_it.c\207 -
-
+ 0 @@ -175,27 +158,22 @@ 1 1 - motor_state + motor_state,0x0A 2 1 - motor_ccr + motor->handle.step_motor.attribute,0x0A 3 1 - step_motor_flag + motor_param,0x0A 4 1 - motor->handle.step_motor.attribute,0x0A - - - 5 - 1 - motor_dir + \\motor\../User/board/board.c\motor_state,0x0A @@ -240,16 +218,6 @@ - - - System Viewer\TIM21 - 35905 - - - System Viewer\TIM6 - 35904 - - 1 0 diff --git a/MDK-ARM/motor/motor.hex b/MDK-ARM/motor/motor.hex index e221ff3..a7c6d9b 100644 --- a/MDK-ARM/motor/motor.hex +++ b/MDK-ARM/motor/motor.hex @@ -1,32 +1,32 @@ :020000040800F2 -:10000000104300209D0100085D1B0008890D0008B9 +:10000000104300209D010008991B0008890D00087D :1000100000000000000000000000000000000000E0 -:10002000000000000000000000000000511C00085B -:1000300000000000000000005F1B0008531C0008C7 +:100020000000000000000000000000008D1C00081F +:1000300000000000000000009B1B00088F1C00084F :10004000AF010008AF010008AF010008AF010008D0 :10005000AF010008AF010008AF010008AF010008C0 :10006000AF010008850D0008870D0008AF010008EA :10007000AF010008AF010008AF010008AF010008A0 -:10008000AF010008411D0008AF010008000000009A -:10009000191D0008AF010008AF010008AF010008FA -:1000A000AF010008AF010008AF010008651D00089E +:10008000AF0100087D1D0008AF010008000000005E +:10009000551D0008AF010008AF010008AF010008BE +:1000A000AF010008AF010008AF010008A11D000862 :1000B000AF010008AF01000800000000AF01000818 :1000C00000F002F800F03EF80CA030C80838241800 :1000D0002D18A246671EAB4654465D46AC4201D180 :1000E00000F030F87E460F3E0FCCB6460126334274 -:1000F00000D0FB1AA246AB46334318473C29000008 -:100100005C290000103A02D378C878C1FAD85207A7 +:1000F00000D0FB1AA246AB4633431847C029000084 +:10010000E0290000103A02D378C878C1FAD8520723 :1001100001D330C830C101D504680C6070470000BD :100120000023002400250026103A01D378C1FBD813 :10013000520700D330C100D50B6070471FB51FBDFB :1001400010B510BD00F0E0FD1146FFF7F7FF02F01B -:1001500031F800F0F8FD03B4FFF7F2FF03BC00F044 +:1001500057F800F0F8FD03B4FFF7F2FF03BC00F01E :10016000FFFD000070B505460C46164602E00FCCB8 :100170000FC5103E102EFAD2082E02D303CC03C5B1 :10018000083E042E07D301CC01C5361F03E02178B9 :100190002970641C6D1C761EF9D270BD074880471B :1001A00007480047FEE7FEE7FEE7FEE7FEE7FEE75B -:1001B00004480549054A064B70470000151D000814 +:1001B00004480549054A064B70470000511D0008D8 :1001C000C10000081039002010430020103D00201D :1001D000103D002001E004C0091F0429FBD28B0759 :1001E00001D50280801CC90700D002707047002929 @@ -124,7 +124,7 @@ :1007A0004C00D4420AD15C00D4420BD04B4002D55D :1007B00092021143E2E749004908DFE75940C90FB7 :1007C000C90718E000200849D8E7054801420DD1C3 -:1007D0000342F7D0F2E700000000FF071C250000ED +:1007D0000342F7D0F2E700000000FF07A025000069 :1007E0000000F07F0000E0FF0000F87F1148594052 :1007F0000143C01241400020C0E70123089A9B0634 :100800009A4205DC032252078918C90FC907B5E7C8 @@ -193,7 +193,7 @@ :100BF000AB42F9D84900A942F6D8AB4201D1A9428B :100C0000F2D0A94201D1002101E061004908D005DC :100C10000843F0BD1102090EFBD0FF200243D005AE -:100C2000F0BD0A460146104654E70000D21E0000FF +:100C2000F0BD0A460146104654E70000561F00007A :100C30000000C07F0102C21504D00123DB07194365 :100C4000002A0ADB9E239A1A02D40846D040704735 :100C5000FF2241001206914201D900207047C017BF @@ -224,19 +224,19 @@ :100DE0002C4323430B43C168024C21400B43C36097 :100DF000EFE700003CC2FEFF054B10B55918203943 :100E0000C97F435803242403A3431343435010BD15 -:100E1000E9280008054B10B559182039C97F4358F7 -:100E2000034C23401343435010BD0000E928000841 +:100E10006D290008054B10B559182039C97F435872 +:100E2000034C23401343435010BD00006D290008BC :100E3000EFBFFFFF054B10B559182039C97F435844 -:100E40008024A3431343435010BD0000E928000849 +:100E40008024A3431343435010BD00006D290008C4 :100E5000054B10B559182039C97F43580324A40203 -:100E6000A3431343435010BDE9280008054B10B5B8 +:100E6000A3431343435010BD6D290008054B10B533 :100E700059182039C97F43582024A34313434350B2 -:100E800010BD0000E9280008054B10B5591820399D +:100E800010BD00006D290008054B10B55918203918 :100E9000C97F43584024A3431343435010BD00006F -:100EA000E928000889000F23091F10B58B40803006 +:100EA0006D29000889000F23091F10B58B40803081 :100EB000846A8A409C431443846210BD054B10B57C :100EC00059182039C97F435803242402A3431343EC -:100ED000435010BDE928000810B504790023254AC5 +:100ED000435010BD6D29000810B504790023254A40 :100EE0000168002C3DD0002942D04479002C0FD05D :100EF000012C15D0022C16D001238179002937D07E :100F0000012918D002291FD0032921D001232FE065 @@ -258,434 +258,442 @@ :10100000AF437243174347624A6805686646B54373 :101010005443254305605B1C0A681446DC40AED18E :101020000020F0BD08B50449CA6A0243CA62C96A11 -:101030000140009108BD00000010024010B57D2164 -:10104000C900FFF7E7F80449401E486100208861A5 -:101050000520086110BD000000E000E010B5044666 -:1010600000F0A4FD206000F07BFD606000F086FDD4 -:10107000A060606800F08EFDE06010BDF8B5204D06 -:1010800001270024AE00FF03032802D00C2824D03F -:1010900021E000F03BF81B4940182ED0012809D070 -:1010A000022813D000F082FD00F05AFD00F072FD1E -:1010B000044610E000F032F800280CD000F036F8BA -:1010C000002801D02C4606E0344604E000F036F853 -:1010D000002800D03C462046F8BD00F017F80A4929 -:1010E00040180AD00428E5D00828EFD000F05EFDB3 -:1010F00000F036FD00F042FDDAE700F057FDD7E7DB -:1011000000093D00FFFFFCFFFCFFF3FF0249C96837 -:101110000140000408437047401002400248006844 -:101120004007C00F704700000010024002480068EE -:10113000C006C00F7047000000100240024800695E -:101140008005C00F70470000401002400149086050 -:101150007047000000000020F0B502680124A407D9 -:10116000134D144E144FA04205D0A84203D0B042F4 -:1011700001D0B84203D170239A434B681A43A0426E -:1011800005D0A84203D0B04201D0B84204D1032315 -:101190001B029A43CB681A4302608A68C2620988BC -:1011A000816241690122114341610020F0BD0000CC -:1011B000000400400008014000140140F0B5012483 -:1011C00000237025012926D003273F0210293BD098 -:1011D000FF39491E57D00F252D02A94251D1016A6E -:1011E0002603B1430162016A4468C569BD4307270C -:1011F0003F03BD4317683F023D437700B943D768BB -:101200003F033943B1435668446036033143C561F7 -:101210009268026433E0016A490849000162016A88 -:1012200046688469A408A400AC4315682C430225D1 -:10123000A943D568294349085568490029434660B0 -:101240008461926842631AE0016A1026B143016228 -:10125000016A45688469BC4307273F03BC4317689C -:101260003F023C432027B943D7683F013943B1438C -:101270005668456036013143846192688263016239 -:101280001C462046F0BD016AFF270137B9430162C1 -:10129000016A4468C669B608B600AE4315682E43B5 -:1012A0007D00A943D5682D0229435568B9432D0215 -:1012B00029434460C6619268C263E0E77FB5044693 -:1012C00000680D46012630404CD1E9686868AA697B -:1012D00008432969114308432168244A11400843FF -:1012E0002060A86861680322120391430143616092 -:1012F0006869A168121191430143A1601C488442AE -:1013000001D1032003E01B48844203D10C20FFF7E6 -:10131000B5FE09E01848844202D01848844221D121 -:101320006846FFF79BFE029800281BD02968002919 -:1013300018D00123AA690026DB039A420CD1400091 -:101340004A088018FEF766FF0D4980B20140000789 -:10135000420F0A43E26005E04A081018FEF75AFF00 -:1013600080B2E060304604B070BD0000F369FFEF6A -:101370000038014000440040004C00400050004054 -:10138000F0FF000008B506490A690092421C00D02F -:10139000401C0A69D20300D5401E0028F9D108BDBF -:1013A00000E000E0F0B591B014216846FEF730FF90 -:1013B00000200590069007900890182109A8FEF7D4 -:1013C00027FF4B48406B01214902084348494863C5 -:1013D000486B4915084046490F90C96A0420444AA1 -:1013E0000143D162D16A0324014000200A940827F6 -:1013F0000F910D90099709A93E48FFF7BDFD3E49A1 -:101400003D4880318A6A120912018A623B490A7892 -:1014100083583B4D2B4083500B78BA02C5582603A6 -:10142000B5431543C5500B78C5582026B543354301 -:10143000C5500B78C5584026B543C5500B78C558E4 -:101440008026B5433543C5500B78C5582602B543B1 -:1014500086153543C550097803154558A602B5438E -:101460001D434550274DA86A1043A862002001A9DA -:10147000009015C1049069462846FFF7A3FC6969EE -:1014800007208143014369612869400840002861C1 -:10149000E86804218843E8601B490868BA0590435E -:1014A000086068680421884368606868B8436860B9 -:1014B00008070590002006900790089005A9284687 -:1014C000FFF764FCA8681149084079060843A86042 -:1014D00010480F490068FEF79DFE0A214843FEF7B9 -:1014E00099FE00E0401E0028FCD111B0F0BD0000C4 -:1014F000001002400008005000000240D4280008FC -:10150000EFBFFFFF0024014008270140E8FFFF7FF5 -:10151000400D03000000002008B50B480121026BBC -:101520000A430263006B084000900321092000F089 -:1015300033FC092000F018FC01210A2000F02CFCEB -:101540000A2000F011FC08BD00100240F0B589B07F -:1015500000240694182168460794FEF759FE0420DB -:10156000FFF760FD8020FFF75DFD0120FFF75AFDCA -:101570000220FFF757FD0820FFF754FD0120C14F5F -:101580000003B8624000B8610325009069460195E8 -:101590000494BD48FFF7F0FC3801009069460195BE -:1015A0000494B948FFF7E8FC78010090694601957A -:1015B0000494B548FFF7E0FC01266946B24800965E -:1015C00001950494FFF7D8FC02200090694601952C -:1015D0000494AD48FFF7D0FC0420009069460195C3 -:1015E0000494A948FFF7C8FC052069460007009647 -:1015F00001950494FFF7C0FC022000900520694685 -:10160000019504940007FFF7B7FC04200090052023 -:101610006946019504940007FFF7AEFC082000908E -:1016200005206946019504940007FFF7A5FC1020EA -:10163000009005206946019504940007FFF79CFC83 -:101640002020009005206946019504940007FFF7CB -:1016500093FC402000900520694601950494000702 -:10166000FFF78AFC802000900520694601950494CC -:101670000007FFF781FC1020009069460195049453 -:101680008148FFF779FC2020009069460195049479 -:101690007D48FFF771FC6946384600960195049431 -:1016A000FFF76AFC022000906946019504943846D1 -:1016B000FFF762FC042000906946019504943846C7 -:1016C000FFF75AFCB0020090694601950494384631 -:1016D000FFF752FCF00200906946019504943846E9 -:1016E000FFF74AFC30030090022002900196039419 -:1016F000694604943846FFF73FFC700300900220CF -:10170000029001960394694604943846FFF734FC2E -:10171000402000906946019504945B48FFF72CFC3B -:10172000802000906946019504945748FFF724FCF7 -:10173000300200906946019504945348FFF71CFC61 -:10174000700200906946019504944F48FFF714FC1D -:101750003002009005206946019504940007FFF7C8 -:101760000BFCF002009005206946019504940007E7 -:10177000FFF702FC300300900520694601950494B0 -:101780000007FFF7F9FBF00300900520694601957B -:1017900004940007FFF7F0FBB00200906946019542 -:1017A00004943948FFF7E8FBF00200906946019580 -:1017B00004943548FFF7E0FB30030090694601953B -:1017C00004943148FFF7D8FB042000906946019546 -:1017D00004942E48FFF7D0FB08200090694601953D -:1017E00004943846FFF7C8FB102000906946019525 -:1017F00004943846FFF7C0FB20200090694601950D -:1018000004943846FFF7B8FB4020009069460195E4 -:1018100004943846FFF7B0FB80200090694601959C -:1018200004943846FFF7A8FB300200906946019502 -:1018300004943846FFF7A0FB7002009069460195BA -:1018400004943846FFF798FB114880680F2109037C -:101850008843310308430E498860F868B107800067 -:1018600080080843F8603868800080083860C81332 -:101870000690684606774477867706A8FFF72CFB24 -:1018800009B0F0BD0004005000080050000C0050EA -:101890000C000140F0B58FB0002406940794089422 -:1018A00009940A940B940C94182168460D94FEF741 -:1018B000AFFC2E4904204A6B02434A63496B014046 -:1018C0000E910021142000F089FA142000F058FA3B -:1018D0001F20694608832648264E0890079406A9CB -:1018E00009943046FFF738FC31688022114331609B -:1018F000214881781F4818300D1828681E4F08218C -:10190000FF1DBA7891400843286060200A90FF20AC -:10191000F5300C900B940AAA10210D943046FFF775 -:101920004DFC2868BA78042191408843286070688B -:10193000702188437060B06880218843B0600B4993 -:101940000220CA6A0243CA62C96A02940140400383 -:101950000090022001900E910620059003940494BB -:1019600069460648FFF708FB0FB0F0BD00100240C3 -:10197000E703000000080140DB28000800040050D5 -:1019800010B586B000241549009401940294039484 -:101990008A6B102002438A63896B014004912146BF -:1019A000112000F01BFA112000F0EAF90C486946FA -:1019B0000880019463200B4C02902046FFF7CCFB7B -:1019C00020688021884320606068702290436060B6 -:1019D000A0688843A06006B010BD0000001002405F -:1019E0007F0C000000100040F0B58FB01C2106A84D -:1019F000FEF70EFC18216846FEF70AFC524801214A -:101A0000426B89030A434263426B0A400D92C26AE9 -:101A100001210A43C262C06A042708400D904802AF -:101A200005970024009002260325052003946946AB -:101A30000196029504940007FFF79EFA700205973D -:101A400000900520039469460196029504940007CE -:101A5000FFF792FA3D4D032211462846FFF722FA7E -:101A6000002203212846FFF7D5F90022032128464A -:101A7000FFF7C2F9002203212846FFF7F7F90022F9 -:101A800003212846FFF700FA802203212846FFF7AA -:101A9000D1F9002203212846FFF710FA0022032182 -:101AA0002846FFF7D5F9032202212846FFF7FAF965 -:101AB000102202212846FFF7ADF900220221284614 -:101AC000FFF79AF9002202212846FFF7CFF90022FA -:101AD00002212846FFF7D8F9802202212846FFF785 -:101AE000A9F9002202212846FFF7E8F90022022185 -:101AF0002846FFF7ADF9164801680902090A6A038A -:101B00001143016001251349D0100860E120400213 -:101B100006900794089409940B940C940C200E4C96 -:101B20000A9006A92046FFF7C9FB60680921C9028F -:101B300088436060A0682A218843A0602068284309 -:101B400020600FB0F0BD0000001002400000024015 -:101B500018E400E000E100E000380140FEE77047D3 -:101B60000449C968F0221140034A0909515CC84080 -:101B70007047000000100240F02800080349C968BF -:101B8000034A4905490F515CC840704700100240A4 -:101B9000092900080349C968034A8904490F515CAF -:101BA000C8407047001002400929000810B50F4ACC -:101BB000D1680C2001400E4805D0042909D008291D -:101BC0000FD00C290FD051680904490F491C8840D7 -:101BD00010BDFFF7ABFA002801D0064810BD06483B -:101BE00010BD064810BD00F00BF810BD00100240FB -:101BF0000080000000093D000024F40000127A007B -:101C000010B50E4CE06801210904084205D1FFF728 -:101C10008DFA00280FD00A4A00E00A4AE068000264 -:101C2000810FE068084B8002000F185C491C50438C -:101C3000FEF7F0FA10BD054AF0E700000010024080 -:101C400000093D0000127A00002900080024F40079 -:101C50007047704710B52B48012102688A430A4338 -:101C600002600168C907C90FFBD02748012201683B -:101C7000D2020323DB029943114301604168C90684 -:101C8000C90FFBD1214801680122120411430160F0 -:101C900001688903C90FFBD0C168FD22120491437A -:101CA0004D2212041143C160016801221206114342 -:101CB000016001688901C90FFBD0C168F02291431E -:101CC000C160C168072212029143C160C168D2009D -:101CD0009143C160C26803218A430A43C2600C2257 -:101CE000C16811400C29FBD1094C2046FFF7A6F929 -:101CF0002046FFF72BFA05484030C1688908890063 -:101D0000C16010BD00200240007000400010024081 -:101D10000048E8017047000010B5074C2069C00773 -:101D2000C00F08D000BF0548006800F08AFC012001 -:101D3000C043206100BF10BD0008014080000020AA -:101D400006480169C907C90F06D005490A68521C2F -:101D50000A600121C9430161704700000010004082 -:101D60006400002070470000002805DBC106C90E92 -:101D700001208840014908607047000000E100E050 -:101D8000002805DBC106C90E012088400149086012 -:101D90007047000000E100E08307FF22DB0E9A405D -:101DA0008907090E9940002808DB830809489B0031 -:101DB0001818036893430B43036070470007000F34 -:101DC0000838830804489B001818C36993430B43E1 -:101DD000C361704700E400E000ED00E08307FF22EC -:101DE000DB0E9A408907090E9940002808DB83081A -:101DF00009489B001818036893430B43036070471E -:101E00000007000F0838830804489B001818C369AE -:101E100093430B43C361704700E400E000ED00E032 -:101E20000549103000E0001D0268002A02D14A680E -:101E30009042F8D3704700002000002010B5044CF9 -:101E4000206801E0FFF7ECFF61688842FAD310BD1B -:101E50002000002001E00170401C1346521E92B287 -:101E6000002BF8D170470FB4009869468988006943 -:101E7000814302D0002004B070470120FBE70FB47B -:101E8000694600988988816204B070470FB469463A -:101E900000988988816104B070470FB40099684642 -:101EA00080884A69134603401B04904303438B61B7 -:101EB00004B07047034610B50020084A01465C0094 -:101EC00006234B439B181B5B491C181889B2142925 -:101ED000F6D31421FEF79EF980B210BD2038002001 -:101EE000F8B50D460446234901204870E0681746BE -:101EF0008607E068B60F80088000E060A0681721C0 -:101F00008843C9070843A060A068C00FFCD1E068FF -:101F1000800880003043E0600A20FFF733FAA068B1 -:101F200015490840401CA0600A20FFF72BFA13480F -:101F30003C23C0192038C27F291D57583F0C3F044D -:101F40001F43575021464031C27F2B460833D150A2 -:101F5000C27F0B491B1DD150C07F2958012211435C -:101F60002950032E04D1A06803490840001DA06039 -:101F7000F8BD000074000020E8FFFF7F4029000842 -:101F800020380020F8B50446002069460870216812 -:101F9000184E002906D01D2924D0694620600870FB -:101FA0000320F8BD0220FFF785FF134DA860A86845 -:101FB00080B200F06DFB68600020FFF77BFF686176 -:101FC000686980B200F01EFA28610120FFF772FFF5 -:101FD0002862286A80B200F065F8E86130686060C5 -:101FE0001D20206060683168081A0A28DAD20020B3 -:101FF000F8BD000064000020A000002010B500F033 -:102000005DF900F067F810BD10B500F06DF810BD77 -:1020100070B500201D4C98B00146A06014221C48E9 -:10202000FFF718FF002000F05FF9012000F0F4F83E -:102030000546A060182217490CA8FEF793F8154929 -:102040001822183112A8FEF78DF8144810221249F0 -:1020500009AB07C3182212A903A8FEF783F80FAB38 -:1020600007CB6B4607C32846EE6A0CAD0ECDB047D2 -:102070000C3407CCFFF734FF0948026801210A43FA -:102080000260C2680A43C26018B070BD78000020C8 -:102090009838002048290008000801400AD7A33CCE -:1020A0000010004010B5FEF709FE074900F0AAFB3A -:1020B0000649FEF70FFD0321C943FEF703FE04495D -:1020C00000F048FB10BD000000001644000016435D -:1020D0000000964303490020086008310860083179 -:1020E0000860704708000020F8B51D48FFF74AFF58 -:1020F0000024684604701A4D1A4E083528680028D6 -:1021000011D0282815D068462C60047068460470E9 -:10211000134D10352868002811D0332819D068468F -:102120002C600470F8BD00F0A7F8306868602820C3 -:10213000286068683168081A0A28E7D3F3E77D2029 -:10214000C00000F077F908490870306868603320F3 -:10215000286068683168081A6428F0D2F8BD000069 -:1021600008000020640000200400002070B50D4627 -:1021700006461821002000F02FF9040001D00120AC -:1021800000E000203621FEF7F3FD2660A58005481B -:10219000A0600548E0600548206105486061204670 -:1021A00070BD00008D1E00087F1E00089B1E0008E9 -:1021B000671E000808B516480121426B0A434263B6 -:1021C000416BC907C90F0091826B01040A43826306 -:1021D000806B084000900F48C16903220902090A78 -:1021E00092071143C161FFF735FDFFF7AFF9FFF724 -:1021F00093F9FFF7D7F8FFF7F7FBFFF7C1FBFFF7FE -:1022000049FBFFF705FFFFF7F9FEFFF7FDFEFCE7CF -:102210000010024004ED00E070B5054640210020AA -:1022200000F0DAF8040001D0012000E00020632172 -:10223000FEF79EFD00222146402001E00A70491C65 -:102240000346401E80B2002BF8D12570012D01D02D -:10225000002070BD0448E0620448206304486063C5 -:102260000448A063204670BD65240008B52400081A -:10227000F92500089F25000870B50F4DA86829783A -:10228000041D002916D00026012904D0022907D0F8 -:1022900003290FD107E06968E26A0978904708E0EE -:1022A000216B88472E706868636B02784168A86864 -:1022B00098472E7070BD00007800002010B50821EE -:1022C000002000F089F8074C0028606000D0012051 -:1022D0003B21FEF74DFD082200216068FFF7BAFDA3 -:1022E00010BD000078000020F0B5054684000A48C3 -:1022F0000A4F0059E61942000021306900F07CF8CD -:102300000548002110300259B06800F075F801202E -:1023100079190876F0BD000028290008280000205F -:10232000F8B51D4E05467019007E00240F460028A2 -:1023300002D1316828468847002F29D01748AD00C0 -:1023400041593846FDF766FF0246002900D0421C7D -:10235000124808384159491E1AD4AF1938694B0040 -:10236000C35A002B05D0002494420FD1002093B211 -:1023700006E0641CF8E70E1876003C69401CA35385 -:102380009042F8D3054840594843F8BD491EE6D568 -:102390000020C043F8BD00002800002030290008BC -:1023A00070B50B49002380000A4C09581A460019E1 -:1023B00006E004695500645B002C00D05B1C521CD5 -:1023C0009142F6D864205843FDF724FFC0B270BD97 -:1023D000282900082800002010B50446FFF7A0FFB8 -:1023E000411C05D0034AA10089188968081810BD4E -:1023F000002010BD2800002001E00170401C521E8A -:10240000FBD2704710B5FEF759FC074900F0FAF906 -:102410000649FEF75FFB0321C943FEF753FC04495D -:1024200000F098F910BD00000000164400001643AB -:102430000000204170B5FEF741FC084C05462068BD -:10244000FEF73CFC2946FEF745FB002121600449CC -:1024500000F080F9FEF7EEFB70BD00006800002080 -:102460000000C8420FB4F8B5139F159E149D0400D8 -:1024700001D0012000E000200621FEF779FC68462B -:10248000018C0798FFF772FE60606846018F0D9817 -:10249000FFF76CFE21460831E1C128684008400082 -:1024A0002860E0682169026A8A430262F8BC08BCBD -:1024B00004B01847FEB50D46040001D0012000E02D -:1024C00000201121FEF754FC241D01D0012000E062 -:1024D00000201321FEF74CFC012725766776002D9E -:1024E0002568696928690191009032D00820281870 -:1024F00001782E790A464178EB6809020A4381780F -:10250000C07809040A4331466E7900063602314329 -:10251000AE7902433604E879314300062E78014350 -:1025200030466E7836023043AE78ED78360430436C -:102530002D0628439847A068C1683943C160A06848 -:10254000016839430160A068E168026A0A430262D7 -:10255000FEBD0C20281801782E790B464178AA6818 -:1025600009020B438178C07809040B4331466E7928 -:10257000000636023143AE7903433604E87931432D -:1025800000062E78014330466E7836023043AE782E -:10259000ED78360430432D0628439047CBE7F8B555 -:1025A00016460F46050001D0012000E000202D2135 -:1025B000FEF7DEFB2C1D01D0012000E000202F21C2 -:1025C000FEF7D6FB607E012811D03846FEF776FB79 -:1025D0002169FEF77FFAFEF72DFBE06100206062C3 -:1025E000E069002804D0E26A314628469047F8BDE9 -:1025F000216B28468847F8BD70B5050001D0012041 -:1026000000E000201E21FEF7B3FB2C1D01D00120AD -:1026100000E000202021FEF7ABFB00206076606127 -:10262000E061A1680868400840000860A068E168AF -:10263000026A8A430262A16B002901D028468847BA -:1026400070BD70B5050001D0012000E000204921D7 -:10265000FEF78EFB2C1D01D0012000E000204B2155 -:10266000FEF786FBE069401EE061606A401C606224 -:10267000207E0128206A08D0401E2062E0690028E0 -:1026800002D1216B2846884770BD401CF5E7000049 -:1026900010B5FEF713FB084900F0B4F8FEF7F0F9A7 -:1026A000064A074BFDF7A4FE0022064BFEF7C4F8CE -:1026B000FDF760FE10BD00000080BB446891ED7C1A -:1026C0003F3517400000244070B501250400ED0798 -:1026D0004C4020D4441A01D2001B0919C60D4B00EE -:1026E000F2B2FF2A29D01B0E2CD000020C02D31A02 -:1026F0002C43DC402843051910D2280A02D3401C81 -:102700006D0611D0761EF6058019FF2A00DA70BD1D -:10271000C00DC00570BD694000F07AF80120054386 -:10272000C541521C761CE8E764089C40C901614021 -:102730008900E7D10124A043E4E71B0E440200D046 -:10274000034870BD002AFCD1C00FC00770BD00BF98 -:102750000000C07F70B5420064414B005C41120E26 -:1027600039D01B0E38D0FF2A3CD0FF2B3AD0400284 -:102770004902400A490A060045184E43000A090A60 -:10278000D2184843ED017F3A0104731A4019190C1D -:102790004318990F04D001215B0849075B1A521CAA -:1027A000D80904D3401CF50301D19D0607D0FF2AA8 -:1027B00008D2D50506D0E4072043401970BD012595 -:1027C000A843F4E7002A01DCE00770BD2402FF20E3 -:1027D0002043C00570BD1B0EFF2A03D0FF2B01D084 -:1027E000E00770BDFF2645003606B54206D84D000D -:1027F000B54203D8D218FF2A00D0E7E7004870BDE1 -:102800000000C07F70B501250400ED074C4022D4C4 -:10281000441A02D26C40001B0919C60D4B00F2B2DB -:10282000FF2A4BD01B0E50D000020C02D31A2C43AF -:10283000DC40A843051B05D5AD0019D36D08761EF5 -:10284000521E37D0F605280A01D2801970BD70419A -:102850006D0603D070BD6940FFF73CFF9C40090244 -:102860006140490001D0401E70BD0124A04370BDED -:102870006D081DD001202B0C01D12D0410302B0E22 -:1028800001D12D0208302B0F01D12D01001DAB0FFE -:1028900001D1AD00801CEB0F01D16D00401C6D001B -:1028A000361A121A680AF5054019012A02DB70BDB2 -:1028B000002070BDC036300AC00770BD1B0E440238 -:1028C00001D1FF2B00D1024870BD002AF0D070BDAD -:1028D0000000C07F081C3044586C800000000004D9 -:1028E000000400000800000008081C3044586C80F8 -:1028F00000000000000000000102030406070809B0 -:10290000030406080C101820300000000001020328 -:10291000045F6C697374006C69737420616C6C2063 -:10292000636F6D6D616E6400A00100000100000026 -:102930002000000020000000003400002000000003 -:10294000081C3044586C8000000400500020000037 -:102950000000000000000000000000000000000077 -:102960000004005000100000000000000000000003 -:10297000000000000000000080807F7E7D7C7B7A6C -:102980007978777676757473727171706F6E6E6D1B -:102990006C6C6B6A6A6968686766666564646363C1 -:1029A00062616160605F5F5E5E5D5D5C5C5B5B5A47 -:1029B0005A595958585757565655555554545353B4 -:1029C00052525251515050504F4F4F4E4E4D4D4D0F -:1029D0004C4C4C4B4B4B4A4A4A494949484848475A -:1029E0004747474646464545454444444443434398 -:1029F00043424242424141418182838485868788A5 -:102A0000898B8C8D8E8F919293959697999A9C9D98 -:102A10009FA0A2A3A5A7A8AAACAEB0B2B3B5B7B900 -:102A2000BCBEC0C2C5C7C9CCCED1D4D7D9DCDFE2C9 -:102A3000E6E9ECF0F3F7FAFE582A0008000000205F -:102A4000A000000004010008F82A0008A0000020EF -:102A5000704200002001000800002000000000007B -:102A60000000000000000000000000000000000066 -:102A70000000000000000000000000000000000056 -:102A8000E9220008A1230008E000002060000020E7 -:102A9000E034002062000020000000000000000080 -:102AA0000000000000000000000000000000000026 -:102AB0000000000000000000000000000000000016 -:102AC0000000000000000000000000000000000006 -:102AD0000000000000000000000000000024014091 -:102AE0000000024001000000112900081729000819 -:082AF000C6E533B43D1E0008E9 +:101030000140009108BD00000010024008B50449BD +:10104000CA6A0243CA62C96A0140009108BD000031 +:101050000010024010B57D21C900FFF7DBF80449FC +:10106000401E4861002088610520086110BD000015 +:1010700000E000E010B5044600F0B6FD206000F08E +:101080008DFD606000F098FDA060606800F0A0FD3C +:10109000E06010BDF8B5204D01270024AE00FF032D +:1010A000032802D00C2824D021E000F03BF81B4993 +:1010B00040182ED0012809D0022813D000F094FD4A +:1010C00000F06CFD00F084FD044610E000F032F802 +:1010D00000280CD000F036F8002801D02C4606E09D +:1010E000344604E000F036F8002800D03C462046A4 +:1010F000F8BD00F017F80A4940180AD00428E5D0D6 +:101100000828EFD000F070FD00F048FD00F054FD1D +:10111000DAE700F069FDD7E700093D00FFFFFCFFBB +:10112000FCFFF3FF0249C96801400004084370470F +:1011300040100240024800684007C00F704700009E +:101140000010024002480068C006C00F704700004F +:1011500000100240024800698005C00F704700007F +:101160004010024001490860704700000000002064 +:10117000F0B502680124A407134D144E144FA04289 +:1011800005D0A84203D0B04201D0B84203D17023A9 +:101190009A434B681A43A04205D0A84203D0B042FC +:1011A00001D0B84204D103231B029A43CB681A43EF +:1011B00002608A68C2620988816241690122114322 +:1011C00041610020F0BD0000000400400008014023 +:1011D00000140140F0B5012400237025012926D018 +:1011E00003273F0210293BD0FF39491E57D00F2556 +:1011F0002D02A94251D1016A2603B1430162016A5D +:101200004468C569BD4307273F03BD4317683F02D4 +:101210003D437700B943D7683F033943B14356682C +:10122000446036033143C5619268026433E0016A69 +:10123000490849000162016A46688469A408A4005B +:10124000AC4315682C430225A943D56829434908B6 +:1012500055684900294346608461926842631AE0F8 +:10126000016A1026B1430162016A45688469BC4382 +:1012700007273F03BC4317683F023C432027B9437D +:10128000D7683F013943B143566845603601314361 +:1012900084619268826301621C462046F0BD016A47 +:1012A000FF270137B9430162016A4468C669B6087D +:1012B000B600AE4315682E437D00A943D5682D02C4 +:1012C00029435568B9432D0229434460C661926899 +:1012D000C263E0E77FB5044600680D460126304052 +:1012E0004CD1E9686868AA69084329691143084331 +:1012F0002168244A114008432060A86861680322DD +:1013000012039143014361606869A168121191431E +:101310000143A1601C48844201D1032003E01B4823 +:10132000844203D10C20FFF7B5FE09E0184884423F +:1013300002D01848844221D16846FFF79BFE0298EC +:1013400000281BD02968002918D00123AA6900268B +:10135000DB039A420CD140004A088018FEF75AFF7E +:101360000D4980B201400007420F0A43E26005E0E8 +:101370004A081018FEF74EFF80B2E060304604B015 +:1013800070BD0000F369FFEF0038014000440040E9 +:10139000004C004000500040F0FF000008B5064936 +:1013A0000A690092421C00D0401C0A69D20300D591 +:1013B000401E0028F9D108BD00E000E0F0B591B072 +:1013C000142106A8FEF724FF00200B900C900D902E +:1013D0000E9018216846FEF71BFF5B48406B012109 +:1013E0004902084358494863486B491508400F9023 +:1013F0000420FFF723FE0120FFF720FE0220FFF765 +:101400001DFE0820009003200190002004906946F2 +:101410004E48FFF7B1FD0320019000200490802585 +:101420000520009569460007FFF7A6FD0120009002 +:10143000032001900020049069464548FFF79CFD79 +:101440004449444880318A6A120912018A62424939 +:101450000A788358414C234083500A78AB01845862 +:1014600003263603B4431C4384500A78845820264C +:10147000B443344384500A7884584026B44384509B +:101480000A788458AC432C4384500A7886158458D3 +:1014900003273F02BC433443845009780215445863 +:1014A000BF00BC43144344502D4CA06A2843A062A3 +:1014B000A06A3043A062A06A1843A0620020069090 +:1014C00007900320099000200A90089306A920465F +:1014D000FFF778FC6169072081430143616120695E +:1014E000400840002061E06804218843E0601D4915 +:1014F0000868AA0490430860616804208143616021 +:101500006168082081436160C0060B9000200C9048 +:101510000D900E900BA92046FFF738FCA0681249E9 +:10152000084069050843A060114810490068FEF7AB +:1015300071FE0A214843FEF76DFE00E0401E0028C0 +:10154000FCD111B0F0BD00000010024000080050B6 +:10155000000400500000024058290008EFBFFFFFC0 +:101560000024014008270140E8FFFF7F400D0300F1 +:101570000000002008B50B480121026B0A430263FA +:10158000006B084000900321092000F023FC092093 +:1015900000F008FC01210A2000F01CFC0A2000F0E9 +:1015A00001FC08BD00100240F0B589B0002406948B +:1015B000182168460794FEF72BFE0420FFF732FD42 +:1015C0008020FFF72FFD0120FFF72CFD0220FFF701 +:1015D00029FD0820FFF726FD0120B94E0003B06267 +:1015E0004000B06103250090694601950494B54818 +:1015F000FFF7C2FC30010090694601950494B148A0 +:10160000FFF7BAFC70010090694601950494AD485B +:10161000FFF7B2FC01276946AA4800970195049498 +:10162000FFF7AAFC02200090694601950494A548A2 +:10163000FFF7A2FC04200090694601950494A1489C +:10164000FFF79AFC0520694600070097019504946E +:10165000FFF792FC02200090052069460195049452 +:101660000007FFF789FC04200090052069460195DA +:1016700004940007FFF780FC0820009005206946CD +:10168000019504940007FFF777FC102000900520D7 +:101690006946019504940007FFF76EFC2020009036 +:1016A00005206946019504940007FFF765FC40207A +:1016B000009005206946019504940007FFF75CFC43 +:1016C000102000906946019504947E48FFF754FC71 +:1016D000202000906946019504947A48FFF74CFC5D +:1016E000022000906946019504943046FFF744FCBF +:1016F000042000906946019504943046FFF73CFCB5 +:10170000B80200906946019504943046FFF734FC16 +:10171000F80200906946019504943046FFF72CFCCE +:1017200038030090022002900197039469460494C4 +:101730003046FFF721FC78030090022002900197C9 +:101740000394694604943046FFF716FC402000904D +:101750006946019504945B48FFF70EFC80200090D9 +:101760006946019504945748FFF706FC380200903B +:101770006946019504945348FFF7FEFB78020090F8 +:101780006946019504944F48FFF7F6FB3802009034 +:1017900005206946019504940007FFF7EDFBF80268 +:1017A000009005206946019504940007FFF7E4FBCB +:1017B0003803009005206946019504940007FFF75F +:1017C000DBFB700100900520694601950494000739 +:1017D000FFF7D2FBB802009069460195049439489E +:1017E000FFF7CAFBF802009069460195049435485A +:1017F000FFF7C2FB38030090694601950494314815 +:10180000FFF7BAFB042000906946019504942E4826 +:10181000FFF7B2FB0820009069460195049430461A +:10182000FFF7AAFB1020009069460195049430460A +:10183000FFF7A2FB202000906946019504943046F2 +:10184000FFF79AFB402000906946019504943046CA +:10185000FFF792FB80200090694601950494304682 +:10186000FFF78AFB380200906946019504943046E0 +:10187000FFF782FB78020090694601950494304698 +:10188000FFF77AFB114880680F2109038843390369 +:1018900008430E498860F0683105800080080843DD +:1018A000F0603068800080083060C8130690684699 +:1018B00007774477877706A8FFF70EFB09B0F0BDDE +:1018C0000004005000080050000C00500C000140C3 +:1018D000F0B58FB0002406940794089409940A94F4 +:1018E0000B940C94182168460D94FEF791FC2E4938 +:1018F00004204A6B02434A63496B01400E91002168 +:10190000142000F089FA142000F058FA1F206946CC +:1019100008832648264E0890079406A90994304665 +:10192000FFF726FC3168802211433160214881781D +:101930001F4818300D1828681E4F0821FF1DBA785F +:1019400091400843286060200A90FF20F5300C90F9 +:101950000B940AAA10210D943046FFF73BFC28682F +:10196000BA780421914088432860706870218843C8 +:101970007060B06880218843B0600B490220CA6A59 +:101980000243CA62C96A02940140400300900220E7 +:1019900001900E9106200590039404946946064830 +:1019A000FFF7EAFA0FB0F0BD00100240E7030000B5 +:1019B000000801405F2900080004005010B586B0FF +:1019C0000024154900940194029403948A6B10201A +:1019D00002438A63896B014004912146112000F083 +:1019E0001BFA112000F0EAF90C48694608800194BE +:1019F00063200B4C02902046FFF7BAFB2068802141 +:101A0000884320606068702290436060A0688843CB +:101A1000A06006B010BD0000001002407F0C000066 +:101A200000100040F0B58FB01C2106A8FEF7F0FBB7 +:101A300018216846FEF7ECFB52480121426B8903EE +:101A40000A434263426B0A400D92C26A01210A4373 +:101A5000C262C06A042708400D904802059700241E +:101A600000900226032505200394694601960295FD +:101A700004940007FFF780FA700205970090052094 +:101A8000039469460196029504940007FFF774FADF +:101A90003D4D032211462846FFF704FA0022032198 +:101AA0002846FFF7B7F9002203212846FFF7A4F9DB +:101AB000002203212846FFF7D9F9002203212846F6 +:101AC000FFF7E2F9802203212846FFF7B3F900224D +:101AD00003212846FFF7F2F9002203212846FFF7E9 +:101AE000B7F9032202212846FFF7DCF91022022170 +:101AF0002846FFF78FF9002202212846FFF77CF9DC +:101B0000002202212846FFF7B1F9002202212846CF +:101B1000FFF7BAF9802202212846FFF78BF900224D +:101B200002212846FFF7CAF9002202212846FFF7C2 +:101B30008FF9164801680902090A6A031143016016 +:101B400001251349D0100860E12040020690079457 +:101B5000089409940B940C940C200E4C0A9006A93E +:101B60002046FFF7B7FB60680921C902884360601F +:101B7000A0682A218843A0602068284320600FB015 +:101B8000F0BD0000001002400000024018E400E038 +:101B900000E100E000380140FEE770470449C968F1 +:101BA000F0221140034A0909515CC8407047000007 +:101BB00000100240742900080349C968034A490516 +:101BC000490F515CC8407047001002408D29000841 +:101BD0000349C968034A8904490F515CC8407047EA +:101BE000001002408D29000810B50F4AD1680C2062 +:101BF00001400E4805D0042909D008290FD00C292E +:101C00000FD051680904490F491C884010BDFFF7E7 +:101C100099FA002801D0064810BD064810BD0648B4 +:101C200010BD00F00BF810BD001002400080000055 +:101C300000093D000024F40000127A0010B50E4C9B +:101C4000E06801210904084205D1FFF77BFA00286A +:101C50000FD00A4A00E00A4AE0680002810FE068FB +:101C6000084B8002000F185C491C5043FEF7D2FA63 +:101C700010BD054AF0E700000010024000093D00D9 +:101C800000127A00842900080024F400704770478D +:101C900010B52B48012102688A430A43026001689B +:101CA000C907C90FFBD0274801220168D2020323CC +:101CB000DB029943114301604168C906C90FFBD19A +:101CC000214801680122120411430160016889035F +:101CD000C90FFBD0C168FD22120491434D221204AA +:101CE0001143C160016801221206114301600168BD +:101CF0008901C90FFBD0C168F0229143C160C1685E +:101D0000072212029143C160C168D2009143C160B1 +:101D1000C26803218A430A43C2600C22C168114091 +:101D20000C29FBD1094C2046FFF794F92046FFF718 +:101D300019FA05484030C16889088900C16010BDA2 +:101D40000020024000700040001002400048E801FE +:101D50007047000010B5074C2069C007C00F08D0BD +:101D600000BF0548006800F0A1FC0120C0432061CD +:101D700000BF10BD00080140800000200648016936 +:101D8000C907C90F06D005490A68521C0A6001211B +:101D9000C94301617047000000100040640000204A +:101DA00070470000002805DBC106C90E01208840ED +:101DB000014908607047000000E100E0002805DBF1 +:101DC000C106C90E01208840014908607047000023 +:101DD00000E100E08307FF22DB0E9A408907090E2D +:101DE0009940002808DB830809489B0018180368FD +:101DF00093430B43036070470007000F08388308C4 +:101E000004489B001818C36993430B43C361704790 +:101E100000E400E000ED00E08307FF22DB0E9A40C3 +:101E20008907090E9940002808DB830809489B00B0 +:101E30001818036893430B43036070470007000FB3 +:101E40000838830804489B001818C36993430B4360 +:101E5000C361704700E400E000ED00E00549103088 +:101E600000E0001D0268002A02D14A689042F8D3BF +:101E7000704700002000002010B5044C206801E0ED +:101E8000FFF7ECFF61688842FAD310BD2000002004 +:101E900001E00170401C1346521E92B2002BF8D193 +:101EA00070470FB40098694689880069814302D061 +:101EB000002004B070470120FBE70FB4694600988A +:101EC0008988816204B070470FB469460098898898 +:101ED000816104B070470FB40099684680884A69F0 +:101EE000134603401B04904303438B6104B07047C7 +:101EF000034610B50020084A01465C0006234B4308 +:101F00009B181B5B491C181889B21429F6D314219D +:101F1000FEF780F980B210BD20380020F8B50D46DC +:101F20000446234901204870E06817468607E068A8 +:101F3000B60F80088000E060A06817218843C907B9 +:101F40000843A060A068C00FFCD1E0688008800052 +:101F50003043E0600A20FFF721FAA06815490840E5 +:101F6000401CA0600A20FFF719FA13483C23C0194F +:101F70002038C27F291D57583F0C3F041F4357503C +:101F800021464031C27F2B460833D150C27F0B49D6 +:101F90001B1DD150C07F2958012211432950032E07 +:101FA00004D1A06803490840001DA060F8BD0000EE +:101FB00074000020E8FFFF7FC429000820380020BB +:101FC000F8B504460020694608702168184E0029BB +:101FD00006D01D2924D06946206008700320F8BD72 +:101FE0000220FFF785FF134DA860A86880B200F0BB +:101FF00083FB68600020FFF77BFF6861686980B23F +:1020000000F024FA28610120FFF772FF2862286A95 +:1020100080B200F065F8E861306860601D202060E3 +:1020200060683168081A0A28DAD20020F8BD00007A +:1020300064000020A000002010B500F063F900F05B +:102040006FF810BD10B500F075F810BD70B5002028 +:102050001D4C98B00146A06014221C48FFF718FFE1 +:10206000002000F065F9012000F0FCF80546A060B2 +:10207000182217490CA8FEF775F8154918221831CF +:1020800012A8FEF76FF814481022124909AB07C3D3 +:10209000182212A903A8FEF765F80FAB07CB6B4611 +:1020A00007C32846EE6A0CAD0ECDB0470C3407CC02 +:1020B000FFF734FF0948026801210A430260C26841 +:1020C0000A43C26018B070BD780000209838002024 +:1020D000CC290008000801406F12833B001000402B +:1020E00010B5FEF7EBFD0B21C943FEF7EBFD0849E8 +:1020F00000F072FB074900F0C7FB0749FEF7EAFC56 +:102100000321C943FEF7DEFD044900F065FB10BD65 +:1021100000803B4500001644000016430000964333 +:1021200003490020086008310860083108607047E2 +:1021300008000020F8B51D48FFF742FF002468465C +:1021400004701A4D1A4E08352868002811D0282826 +:1021500015D068462C60047068460470134D103525 +:102160002868002811D0332819D068462C600470E4 +:10217000F8BD00F0A7F8306868602820286068681B +:102180003168081A0A28E7D3F3E77D20C00000F081 +:102190007DF90849087030686860332028606868F5 +:1021A0003168081A6428F0D2F8BD00000800002049 +:1021B000640000200400002070B50D46064618217A +:1021C000002000F02DF9040001D0012000E00020E3 +:1021D0003621FEF7CDFD2660A5800548A0600548A4 +:1021E000E0600548206105486061204670BD000040 +:1021F000C91E0008BB1E0008D71E0008A31E000849 +:1022000008B516480121426B0A434263416BC90776 +:10221000C90F0091826B01040A438263806B0840FE +:1022200000900F48C16903220902090A920711436D +:10223000C161FFF72DFDFFF7B7F9FFF79BF9FFF736 +:10224000BDF8FFF7EFFBFFF7B9FBFFF741FBFFF727 +:10225000FDFEFFF7F1FEFFF7F5FEFCE70010024080 +:1022600004ED00E070B505464021002000F0D8F8EC +:10227000040001D0012000E000206521FEF778FD78 +:1022800000222146402001E00A70491C0346401EFE +:1022900080B2002BF8D12570012D01D0002070BD37 +:1022A0000448E06204482063044860630448A06373 +:1022B000204670BDBD2400080D2500084D260008ED +:1022C000F725000870B50E4CA0682278031D002A7F +:1022D0000DD0214600254968012A09D0022A0BD0D9 +:1022E000032A04D10A785B6B49689847257070BD52 +:1022F000DA6A09789047F9E7196B8847F6E7000032 +:102300007800002010B50821002000F089F8074C63 +:102310000028606000D001203E21FEF729FD082240 +:1023200000216068FFF7B4FD10BD000078000020B8 +:10233000F0B5054684000A480A4F0059E6194200E4 +:102340000021306900F07CF8054800211030025966 +:10235000B06800F075F8012079190876F0BD00002A +:10236000AC29000828000020F8B51D4E054670195C +:10237000007E00240F46002802D131682846884795 +:10238000002F29D01748AD0041593846FDF742FFCC +:102390000246002900D0421C124808384159491E03 +:1023A0001AD4AF1938694B00C35A002B05D000244A +:1023B00094420FD1002093B206E0641CF8E70E1897 +:1023C00076003C69401CA3539042F8D3054840591D +:1023D0004843F8BD491EE6D50020C043F8BD0000C3 +:1023E00028000020B429000870B50B4900238000A4 +:1023F0000A4C09581A46001906E004695500645B46 +:10240000002C00D05B1C521C9142F6D8642058432B +:10241000FDF700FFC0B270BDAC2900082800002005 +:1024200010B50446FFF7A0FF411C05D0034AA100E8 +:1024300089188968081810BD002010BD28000020E8 +:1024400001E00170401C521EFBD2704710B5FEF730 +:1024500035FC0B21C943FEF735FC084900F0BCF9F7 +:10246000074900F011FA0749FEF734FB0321C9437D +:10247000FEF728FC044900F0AFF910BD00803B4591 +:10248000000016440000164300007A4470B5FEF7C1 +:1024900015FC084C05462068FEF710FC2946FEF79F +:1024A00019FB00212160044900F096F9FEF7C2FBF8 +:1024B00070BD0000680000200000C8420FB4F8B5ED +:1024C000139F159E149D040001D0012000E0002000 +:1024D0000621FEF74DFC6846018C0798FFF76CFE5D +:1024E00060606846018F0D98FFF766FE214608314F +:1024F000E1C12868400840002860E0682169026A5C +:102500008A430262F8BC08BC04B01847FEB50D4609 +:10251000040001D0012000E000201121FEF728FC7A +:10252000241D01D0012000E000201321FEF720FC33 +:10253000012725766776002D25686969286901914C +:10254000009032D00820281801782E790A46417868 +:10255000EB6809020A438178C07809040A433146CE +:102560006E79000636023143AE7902433604E879CB +:10257000314300062E78014330466E7836023043F0 +:10258000AE78ED78360430432D0628439847A0688E +:10259000C1683943C160A068016839430160A0681F +:1025A000E168026A0A430262FEBD0C202818017825 +:1025B0002E790B464178AA6809020B438178C078CE +:1025C00009040B4331466E79000636023143AE7979 +:1025D00003433604E879314300062E780143304640 +:1025E0006E7836023043AE78ED78360430432D06EF +:1025F00028439047CBE7F8B516460F46050001D0B3 +:10260000012000E000202F21FEF7B2FB2C1D01D09D +:10261000012000E000203121FEF7AAFB607E0128A6 +:102620000FD038462169FEF755FAFEF703FBE0614B +:1026300000206062E069002804D0E26A3146284642 +:102640009047F8BD216B28468847F8BD70B5050056 +:1026500001D0012000E000201E21FEF789FB2C1D87 +:1026600001D0012000E000202021FEF781FB0020A6 +:1026700060766061E061A068016849084900016016 +:10268000A068E168026A8A430262A168C8684008DB +:102690004000C86001200449C0430861A16B0029C3 +:1026A00001D02846884770BD0008014070B505007C +:1026B00001D0012000E000204B21FEF759FB2C1D2A +:1026C00001D0012000E000204D21FEF751FBE06920 +:1026D000401EE061606A401C6062207E0128206A22 +:1026E00008D0401E2062E069002802D1216B2846F4 +:1026F000884770BD401CF5E710B5FEF7DFFA0B21E7 +:10270000C943FEF7DFFA0B4900F066F80A4900F00A +:10271000BBF80A49FEF7DEF9FEF7B2F9084A094BA1 +:10272000FDF766FE0022084BFEF786F8FDF722FE55 +:1027300010BD000000803B450080BB440000CA4241 +:102740006891ED7C3F3517400000244070B50125AD +:102750000400ED074C4020D4441A01D2001B091993 +:10276000C60D4B00F2B2FF2A29D01B0E2CD000025E +:102770000C02D31A2C43DC402843051910D2280A36 +:1027800002D3401C6D0611D0761EF6058019FF2A73 +:1027900000DA70BDC00DC00570BD694000F07AF868 +:1027A00001200543C541521C761CE8E764089C40A3 +:1027B000C90161408900E7D10124A043E4E71B0E71 +:1027C000440200D0034870BD002AFCD1C00FC007EE +:1027D00070BD00BF0000C07F70B5420064414B0077 +:1027E0005C41120E39D01B0E38D0FF2A3CD0FF2B93 +:1027F0003AD040024902400A490A060045184E43B1 +:10280000000A090AD2184843ED017F3A0104731AFD +:102810004019190C4318990F04D001215B0849078E +:102820005B1A521CD80904D3401CF50301D19D0644 +:1028300007D0FF2A08D2D50506D0E4072043401967 +:1028400070BD0125A843F4E7002A01DCE00770BD54 +:102850002402FF202043C00570BD1B0EFF2A03D0B9 +:10286000FF2B01D0E00770BDFF2645003606B542BC +:1028700006D84D00B54203D8D218FF2A00D0E7E7AA +:10288000004870BD0000C07F70B501250400ED0751 +:102890004C4022D4441A02D26C40001B0919C60DC8 +:1028A0004B00F2B2FF2A4BD01B0E50D000020C029C +:1028B000D31A2C43DC40A843051B05D5AD0019D322 +:1028C0006D08761E521E37D0F605280A01D28019EF +:1028D00070BD70416D0603D070BD6940FFF73CFFCD +:1028E0009C4009026140490001D0401E70BD012496 +:1028F000A04370BD6D081DD001202B0C01D12D040B +:1029000010302B0E01D12D0208302B0F01D12D01DB +:10291000001DAB0F01D1AD00801CEB0F01D16D008C +:10292000401C6D00361A121A680AF5054019012A72 +:1029300002DB70BD002070BDC036300AC00770BD1C +:102940001B0E440201D1FF2B00D1024870BD002AAA +:10295000F0D070BD0000C07F081C3044586C80006F +:1029600000000004000400000800000008081C30FB +:1029700044586C80000000000000000001020304C5 +:1029800006070809030406080C1018203000000090 +:1029900000010203045F6C697374006C6973742036 +:1029A000616C6C20636F6D6D616E6400A00100004E +:1029B00001000000200000002000000000340000A2 +:1029C00020000000081C3044586C800000040050B7 +:1029D00000200000000000000000000000000000D7 +:1029E0000000000000040050001000000000000083 +:1029F00000000000000000000000000080807F7EDA +:102A00007D7C7B7A79787776767574737271717064 +:102A10006F6E6E6D6C6C6B6A6A6968686766666516 +:102A20006464636362616160605F5F5E5E5D5D5CA4 +:102A30005C5B5B5A5A595958585757565655555515 +:102A40005454535352525251515050504F4F4F4E75 +:102A50004E4D4D4D4C4C4C4B4B4B4A4A4A494949C3 +:102A60004848484747474746464645454544444405 +:102A70004443434343424242424141418182838431 +:102A800085868788898B8C8D8E8F9192939596976A +:102A9000999A9C9D9FA0A2A3A5A7A8AAACAEB0B2EC +:102AA000B3B5B7B9BCBEC0C2C5C7C9CCCED1D4D7E7 +:102AB000D9DCDFE2E6E9ECF0F3F7FAFEDC2A000805 +:102AC00000000020A0000000040100087C2B00088A +:102AD000A00000207042000020010008000020003B +:102AE00000000000000000000000000000000000E6 +:102AF00000000000000000000000000000000000D6 +:102B00000000000031230008E9230008E000002055 +:102B100060000020E034002062000020000000007F +:102B200000000000000000000000000000000000A5 +:102B30000000000000000000000000000000000095 +:102B40000000000000000000000000000000000085 +:102B50000000000000000000000000000000000075 +:102B600000240140000002400100000095290008F7 +:0C2B70009B290008C6E533B4791E00085C :04000005080000C12E :00000001FF diff --git a/MDK-ARM/startup_stm32l072xx.lst b/MDK-ARM/startup_stm32l072xx.lst deleted file mode 100644 index 1e9184e..0000000 --- a/MDK-ARM/startup_stm32l072xx.lst +++ /dev/null @@ -1,938 +0,0 @@ - - - -ARM Macro Assembler Page 1 - - - 1 00000000 ;******************************************************* - *********************** - 2 00000000 ;* File Name : startup_stm32l072xx.s - 3 00000000 ;* Author : MCD Application Team - 4 00000000 ;* Description : STM32l072xx Devices vector table - for MDK-ARM toolchain. - 5 00000000 ;* This module performs: - 6 00000000 ;* - Set the initial SP - 7 00000000 ;* - Set the initial PC == Reset_Ha - ndler - 8 00000000 ;* - Set the vector table entries w - ith the exceptions ISR address - 9 00000000 ;* - Branches to __main in the C lb - rary (which eventually - 10 00000000 ;* calls main()). - 11 00000000 ;* After Reset the Cortex-M0+ proce - ssor is in Thread mode, - 12 00000000 ;* priority is Privileged, and the - Stack is set to Main. - 13 00000000 ;******************************************************* - *********************** - 14 00000000 ;* @attention - 15 00000000 ;* - 16 00000000 ;* Copyright (c) 2016 STMicroelectronics. - 17 00000000 ;* All rights reserved. - 18 00000000 ;* - 19 00000000 ;* This software is licensed under terms that can be fou - nd in the LICENSE file - 20 00000000 ;* in the root directory of this software component. - 21 00000000 ;* If no LICENSE file comes with this software, it is pr - ovided AS-IS. - 22 00000000 ;* - 23 00000000 ;******************************************************* - *********************** - 24 00000000 - 25 00000000 ; Amount of memory (in bytes) allocated for Stack - 26 00000000 ; Tailor this value to your application needs - 27 00000000 ; Stack Configuration - 28 00000000 ; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - 29 00000000 ; - 30 00000000 - 31 00000000 00000600 - Stack_Size - EQU 0x600 - 32 00000000 - 33 00000000 AREA STACK, NOINIT, READWRITE, ALIGN -=3 - 34 00000000 Stack_Mem - SPACE Stack_Size - 35 00000600 __initial_sp - 36 00000600 - 37 00000600 - 38 00000600 ; Heap Configuration - 39 00000600 ; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - 40 00000600 ; - 41 00000600 - 42 00000600 00000400 - Heap_Size - EQU 0x400 - - - -ARM Macro Assembler Page 2 - - - 43 00000600 - 44 00000600 AREA HEAP, NOINIT, READWRITE, ALIGN= -3 - 45 00000000 __heap_base - 46 00000000 Heap_Mem - SPACE Heap_Size - 47 00000400 __heap_limit - 48 00000400 - 49 00000400 PRESERVE8 - 50 00000400 THUMB - 51 00000400 - 52 00000400 - 53 00000400 ; Vector Table Mapped to Address 0 at Reset - 54 00000400 AREA RESET, DATA, READONLY - 55 00000000 EXPORT __Vectors - 56 00000000 EXPORT __Vectors_End - 57 00000000 EXPORT __Vectors_Size - 58 00000000 - 59 00000000 00000000 - __Vectors - DCD __initial_sp ; Top of Stack - 60 00000004 00000000 DCD Reset_Handler ; Reset Handler - 61 00000008 00000000 DCD NMI_Handler ; NMI Handler - 62 0000000C 00000000 DCD HardFault_Handler ; Hard Fault - Handler - 63 00000010 00000000 DCD 0 ; Reserved - 64 00000014 00000000 DCD 0 ; Reserved - 65 00000018 00000000 DCD 0 ; Reserved - 66 0000001C 00000000 DCD 0 ; Reserved - 67 00000020 00000000 DCD 0 ; Reserved - 68 00000024 00000000 DCD 0 ; Reserved - 69 00000028 00000000 DCD 0 ; Reserved - 70 0000002C 00000000 DCD SVC_Handler ; SVCall Handler - 71 00000030 00000000 DCD 0 ; Reserved - 72 00000034 00000000 DCD 0 ; Reserved - 73 00000038 00000000 DCD PendSV_Handler ; PendSV Handler - - 74 0000003C 00000000 DCD SysTick_Handler - ; SysTick Handler - 75 00000040 - 76 00000040 ; External Interrupts - 77 00000040 00000000 DCD WWDG_IRQHandler - ; Window Watchdog - 78 00000044 00000000 DCD PVD_IRQHandler ; PVD through EX - TI Line detect - 79 00000048 00000000 DCD RTC_IRQHandler ; RTC through EX - TI Line - 80 0000004C 00000000 DCD FLASH_IRQHandler ; FLASH - 81 00000050 00000000 DCD RCC_CRS_IRQHandler - ; RCC and CRS - 82 00000054 00000000 DCD EXTI0_1_IRQHandler - ; EXTI Line 0 and 1 - - 83 00000058 00000000 DCD EXTI2_3_IRQHandler - ; EXTI Line 2 and 3 - - 84 0000005C 00000000 DCD EXTI4_15_IRQHandler - ; EXTI Line 4 to 15 - - - - -ARM Macro Assembler Page 3 - - - 85 00000060 00000000 DCD TSC_IRQHandler ; TSC - 86 00000064 00000000 DCD DMA1_Channel1_IRQHandler - ; DMA1 Channel 1 - 87 00000068 00000000 DCD DMA1_Channel2_3_IRQHandler ; DM - A1 Channel 2 and Ch - annel 3 - 88 0000006C 00000000 DCD DMA1_Channel4_5_6_7_IRQHandler - ; DMA1 Channel 4, C - hannel 5, Channel 6 - and Channel 7 - 89 00000070 00000000 DCD ADC1_COMP_IRQHandler ; ADC1, CO - MP1 and COMP2 - 90 00000074 00000000 DCD LPTIM1_IRQHandler ; LPTIM1 - 91 00000078 00000000 DCD USART4_5_IRQHandler - ; USART4 and USART5 - - 92 0000007C 00000000 DCD TIM2_IRQHandler ; TIM2 - 93 00000080 00000000 DCD TIM3_IRQHandler ; TIM3 - 94 00000084 00000000 DCD TIM6_DAC_IRQHandler - ; TIM6 and DAC - 95 00000088 00000000 DCD TIM7_IRQHandler ; TIM7 - 96 0000008C 00000000 DCD 0 ; Reserved - 97 00000090 00000000 DCD TIM21_IRQHandler ; TIM21 - 98 00000094 00000000 DCD I2C3_IRQHandler ; I2C3 - 99 00000098 00000000 DCD TIM22_IRQHandler ; TIM22 - 100 0000009C 00000000 DCD I2C1_IRQHandler ; I2C1 - 101 000000A0 00000000 DCD I2C2_IRQHandler ; I2C2 - 102 000000A4 00000000 DCD SPI1_IRQHandler ; SPI1 - 103 000000A8 00000000 DCD SPI2_IRQHandler ; SPI2 - 104 000000AC 00000000 DCD USART1_IRQHandler ; USART1 - 105 000000B0 00000000 DCD USART2_IRQHandler ; USART2 - 106 000000B4 00000000 DCD RNG_LPUART1_IRQHandler - ; RNG and LPUART1 - 107 000000B8 00000000 DCD 0 ; Reserved - 108 000000BC 00000000 DCD USB_IRQHandler ; USB - 109 000000C0 - 110 000000C0 __Vectors_End - 111 000000C0 - 112 000000C0 000000C0 - __Vectors_Size - EQU __Vectors_End - __Vectors - 113 000000C0 - 114 000000C0 AREA |.text|, CODE, READONLY - 115 00000000 - 116 00000000 ; Reset handler routine - 117 00000000 Reset_Handler - PROC - 118 00000000 EXPORT Reset_Handler [ -WEAK] - 119 00000000 IMPORT __main - 120 00000000 IMPORT SystemInit - 121 00000000 4807 LDR R0, =SystemInit - 122 00000002 4780 BLX R0 - 123 00000004 4807 LDR R0, =__main - 124 00000006 4700 BX R0 - 125 00000008 ENDP - 126 00000008 - 127 00000008 ; Dummy Exception Handlers (infinite loops which can be - modified) - - - -ARM Macro Assembler Page 4 - - - 128 00000008 - 129 00000008 NMI_Handler - PROC - 130 00000008 EXPORT NMI_Handler -[WEAK] - 131 00000008 E7FE B . - 132 0000000A ENDP - 134 0000000A HardFault_Handler - PROC - 135 0000000A EXPORT HardFault_Handler -[WEAK] - 136 0000000A E7FE B . - 137 0000000C ENDP - 138 0000000C SVC_Handler - PROC - 139 0000000C EXPORT SVC_Handler -[WEAK] - 140 0000000C E7FE B . - 141 0000000E ENDP - 142 0000000E PendSV_Handler - PROC - 143 0000000E EXPORT PendSV_Handler -[WEAK] - 144 0000000E E7FE B . - 145 00000010 ENDP - 146 00000010 SysTick_Handler - PROC - 147 00000010 EXPORT SysTick_Handler -[WEAK] - 148 00000010 E7FE B . - 149 00000012 ENDP - 150 00000012 - 151 00000012 Default_Handler - PROC - 152 00000012 - 153 00000012 EXPORT WWDG_IRQHandler -[WEAK] - 154 00000012 EXPORT PVD_IRQHandler -[WEAK] - 155 00000012 EXPORT RTC_IRQHandler -[WEAK] - 156 00000012 EXPORT FLASH_IRQHandler -[WEAK] - 157 00000012 EXPORT RCC_CRS_IRQHandler -[WEAK] - 158 00000012 EXPORT EXTI0_1_IRQHandler -[WEAK] - 159 00000012 EXPORT EXTI2_3_IRQHandler -[WEAK] - 160 00000012 EXPORT EXTI4_15_IRQHandler -[WEAK] - 161 00000012 EXPORT TSC_IRQHandler - [WEAK] - 162 00000012 EXPORT DMA1_Channel1_IRQHandler -[WEAK] - 163 00000012 EXPORT DMA1_Channel2_3_IRQHandler -[WEAK] - 164 00000012 EXPORT DMA1_Channel4_5_6_7_IRQHandler -[WEAK] - - - -ARM Macro Assembler Page 5 - - - 165 00000012 EXPORT ADC1_COMP_IRQHandler -[WEAK] - 166 00000012 EXPORT LPTIM1_IRQHandler -[WEAK] - 167 00000012 EXPORT USART4_5_IRQHandler -[WEAK] - 168 00000012 EXPORT TIM2_IRQHandler -[WEAK] - 169 00000012 EXPORT TIM3_IRQHandler -[WEAK] - 170 00000012 EXPORT TIM6_DAC_IRQHandler -[WEAK] - 171 00000012 EXPORT TIM7_IRQHandler -[WEAK] - 172 00000012 EXPORT TIM21_IRQHandler -[WEAK] - 173 00000012 EXPORT TIM22_IRQHandler -[WEAK] - 174 00000012 EXPORT I2C1_IRQHandler -[WEAK] - 175 00000012 EXPORT I2C2_IRQHandler -[WEAK] - 176 00000012 EXPORT I2C3_IRQHandler -[WEAK] - 177 00000012 EXPORT SPI1_IRQHandler -[WEAK] - 178 00000012 EXPORT SPI2_IRQHandler -[WEAK] - 179 00000012 EXPORT USART1_IRQHandler -[WEAK] - 180 00000012 EXPORT USART2_IRQHandler -[WEAK] - 181 00000012 EXPORT RNG_LPUART1_IRQHandler -[WEAK] - 182 00000012 EXPORT USB_IRQHandler -[WEAK] - 183 00000012 - 184 00000012 - 185 00000012 WWDG_IRQHandler - 186 00000012 PVD_IRQHandler - 187 00000012 RTC_IRQHandler - 188 00000012 FLASH_IRQHandler - 189 00000012 RCC_CRS_IRQHandler - 190 00000012 EXTI0_1_IRQHandler - 191 00000012 EXTI2_3_IRQHandler - 192 00000012 EXTI4_15_IRQHandler - 193 00000012 TSC_IRQHandler - 194 00000012 DMA1_Channel1_IRQHandler - 195 00000012 DMA1_Channel2_3_IRQHandler - 196 00000012 DMA1_Channel4_5_6_7_IRQHandler - 197 00000012 ADC1_COMP_IRQHandler - 198 00000012 LPTIM1_IRQHandler - 199 00000012 USART4_5_IRQHandler - 200 00000012 TIM2_IRQHandler - 201 00000012 TIM3_IRQHandler - 202 00000012 TIM6_DAC_IRQHandler - 203 00000012 TIM7_IRQHandler - 204 00000012 TIM21_IRQHandler - 205 00000012 TIM22_IRQHandler - - - -ARM Macro Assembler Page 6 - - - 206 00000012 I2C1_IRQHandler - 207 00000012 I2C2_IRQHandler - 208 00000012 I2C3_IRQHandler - 209 00000012 SPI1_IRQHandler - 210 00000012 SPI2_IRQHandler - 211 00000012 USART1_IRQHandler - 212 00000012 USART2_IRQHandler - 213 00000012 RNG_LPUART1_IRQHandler - 214 00000012 USB_IRQHandler - 215 00000012 - 216 00000012 E7FE B . - 217 00000014 - 218 00000014 ENDP - 219 00000014 - 220 00000014 ALIGN - 221 00000014 - 222 00000014 ;******************************************************* - ************************ - 223 00000014 ; User Stack and Heap initialization - 224 00000014 ;******************************************************* - ************************ - 225 00000014 IF :DEF:__MICROLIB - 232 00000014 - 233 00000014 IMPORT __use_two_region_memory - 234 00000014 EXPORT __user_initial_stackheap - 235 00000014 - 236 00000014 __user_initial_stackheap - 237 00000014 - 238 00000014 4804 LDR R0, = Heap_Mem - 239 00000016 4905 LDR R1, =(Stack_Mem + Stack_Size) - 240 00000018 4A05 LDR R2, = (Heap_Mem + Heap_Size) - 241 0000001A 4B06 LDR R3, = Stack_Mem - 242 0000001C 4770 BX LR - 243 0000001E - 244 0000001E 00 00 ALIGN - 245 00000020 - 246 00000020 ENDIF - 247 00000020 - 248 00000020 END - 00000000 - 00000000 - 00000000 - 00000600 - 00000400 - 00000000 -Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M0+ --apcs=inter -work --depend=motor\startup_stm32l072xx.d -omotor\startup_stm32l072xx.o -I.\RTE -\_motor -IS:\software\MDK\ARM\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IS:\sof -tware\MDK\ARM\Packs\Keil\STM32L0xx_DFP\2.2.0\Drivers\CMSIS\Device\ST\STM32L0xx\ -Include --predefine="__UVISION_VERSION SETA 538" --predefine="_RTE_ SETA 1" --p -redefine="STM32L072xx SETA 1" --predefine="_RTE_ SETA 1" --list=startup_stm32l0 -72xx.lst startup_stm32l072xx.s - - - -ARM Macro Assembler Page 1 Alphabetic symbol ordering -Relocatable symbols - -STACK 00000000 - -Symbol: STACK - Definitions - At line 33 in file startup_stm32l072xx.s - Uses - None -Comment: STACK unused -Stack_Mem 00000000 - -Symbol: Stack_Mem - Definitions - At line 34 in file startup_stm32l072xx.s - Uses - At line 239 in file startup_stm32l072xx.s - At line 241 in file startup_stm32l072xx.s - -__initial_sp 00000600 - -Symbol: __initial_sp - Definitions - At line 35 in file startup_stm32l072xx.s - Uses - At line 59 in file startup_stm32l072xx.s -Comment: __initial_sp used once -3 symbols - - - -ARM Macro Assembler Page 1 Alphabetic symbol ordering -Relocatable symbols - -HEAP 00000000 - -Symbol: HEAP - Definitions - At line 44 in file startup_stm32l072xx.s - Uses - None -Comment: HEAP unused -Heap_Mem 00000000 - -Symbol: Heap_Mem - Definitions - At line 46 in file startup_stm32l072xx.s - Uses - At line 238 in file startup_stm32l072xx.s - At line 240 in file startup_stm32l072xx.s - -__heap_base 00000000 - -Symbol: __heap_base - Definitions - At line 45 in file startup_stm32l072xx.s - Uses - None -Comment: __heap_base unused -__heap_limit 00000400 - -Symbol: __heap_limit - Definitions - At line 47 in file startup_stm32l072xx.s - Uses - None -Comment: __heap_limit unused -4 symbols - - - -ARM Macro Assembler Page 1 Alphabetic symbol ordering -Relocatable symbols - -RESET 00000000 - -Symbol: RESET - Definitions - At line 54 in file startup_stm32l072xx.s - Uses - None -Comment: RESET unused -__Vectors 00000000 - -Symbol: __Vectors - Definitions - At line 59 in file startup_stm32l072xx.s - Uses - At line 55 in file startup_stm32l072xx.s - At line 112 in file startup_stm32l072xx.s - -__Vectors_End 000000C0 - -Symbol: __Vectors_End - Definitions - At line 110 in file startup_stm32l072xx.s - Uses - At line 56 in file startup_stm32l072xx.s - At line 112 in file startup_stm32l072xx.s - -3 symbols - - - -ARM Macro Assembler Page 1 Alphabetic symbol ordering -Relocatable symbols - -.text 00000000 - -Symbol: .text - Definitions - At line 114 in file startup_stm32l072xx.s - Uses - None -Comment: .text unused -ADC1_COMP_IRQHandler 00000012 - -Symbol: ADC1_COMP_IRQHandler - Definitions - At line 197 in file startup_stm32l072xx.s - Uses - At line 89 in file startup_stm32l072xx.s - At line 165 in file startup_stm32l072xx.s - -DMA1_Channel1_IRQHandler 00000012 - -Symbol: DMA1_Channel1_IRQHandler - Definitions - At line 194 in file startup_stm32l072xx.s - Uses - At line 86 in file startup_stm32l072xx.s - At line 162 in file startup_stm32l072xx.s - -DMA1_Channel2_3_IRQHandler 00000012 - -Symbol: DMA1_Channel2_3_IRQHandler - Definitions - At line 195 in file startup_stm32l072xx.s - Uses - At line 87 in file startup_stm32l072xx.s - At line 163 in file startup_stm32l072xx.s - -DMA1_Channel4_5_6_7_IRQHandler 00000012 - -Symbol: DMA1_Channel4_5_6_7_IRQHandler - Definitions - At line 196 in file startup_stm32l072xx.s - Uses - At line 88 in file startup_stm32l072xx.s - At line 164 in file startup_stm32l072xx.s - -Default_Handler 00000012 - -Symbol: Default_Handler - Definitions - At line 151 in file startup_stm32l072xx.s - Uses - None -Comment: Default_Handler unused -EXTI0_1_IRQHandler 00000012 - -Symbol: EXTI0_1_IRQHandler - Definitions - At line 190 in file startup_stm32l072xx.s - Uses - At line 82 in file startup_stm32l072xx.s - - - -ARM Macro Assembler Page 2 Alphabetic symbol ordering -Relocatable symbols - - At line 158 in file startup_stm32l072xx.s - -EXTI2_3_IRQHandler 00000012 - -Symbol: EXTI2_3_IRQHandler - Definitions - At line 191 in file startup_stm32l072xx.s - Uses - At line 83 in file startup_stm32l072xx.s - At line 159 in file startup_stm32l072xx.s - -EXTI4_15_IRQHandler 00000012 - -Symbol: EXTI4_15_IRQHandler - Definitions - At line 192 in file startup_stm32l072xx.s - Uses - At line 84 in file startup_stm32l072xx.s - At line 160 in file startup_stm32l072xx.s - -FLASH_IRQHandler 00000012 - -Symbol: FLASH_IRQHandler - Definitions - At line 188 in file startup_stm32l072xx.s - Uses - At line 80 in file startup_stm32l072xx.s - At line 156 in file startup_stm32l072xx.s - -HardFault_Handler 0000000A - -Symbol: HardFault_Handler - Definitions - At line 134 in file startup_stm32l072xx.s - Uses - At line 62 in file startup_stm32l072xx.s - At line 135 in file startup_stm32l072xx.s - -I2C1_IRQHandler 00000012 - -Symbol: I2C1_IRQHandler - Definitions - At line 206 in file startup_stm32l072xx.s - Uses - At line 100 in file startup_stm32l072xx.s - At line 174 in file startup_stm32l072xx.s - -I2C2_IRQHandler 00000012 - -Symbol: I2C2_IRQHandler - Definitions - At line 207 in file startup_stm32l072xx.s - Uses - At line 101 in file startup_stm32l072xx.s - At line 175 in file startup_stm32l072xx.s - -I2C3_IRQHandler 00000012 - -Symbol: I2C3_IRQHandler - - - -ARM Macro Assembler Page 3 Alphabetic symbol ordering -Relocatable symbols - - Definitions - At line 208 in file startup_stm32l072xx.s - Uses - At line 98 in file startup_stm32l072xx.s - At line 176 in file startup_stm32l072xx.s - -LPTIM1_IRQHandler 00000012 - -Symbol: LPTIM1_IRQHandler - Definitions - At line 198 in file startup_stm32l072xx.s - Uses - At line 90 in file startup_stm32l072xx.s - At line 166 in file startup_stm32l072xx.s - -NMI_Handler 00000008 - -Symbol: NMI_Handler - Definitions - At line 129 in file startup_stm32l072xx.s - Uses - At line 61 in file startup_stm32l072xx.s - At line 130 in file startup_stm32l072xx.s - -PVD_IRQHandler 00000012 - -Symbol: PVD_IRQHandler - Definitions - At line 186 in file startup_stm32l072xx.s - Uses - At line 78 in file startup_stm32l072xx.s - At line 154 in file startup_stm32l072xx.s - -PendSV_Handler 0000000E - -Symbol: PendSV_Handler - Definitions - At line 142 in file startup_stm32l072xx.s - Uses - At line 73 in file startup_stm32l072xx.s - At line 143 in file startup_stm32l072xx.s - -RCC_CRS_IRQHandler 00000012 - -Symbol: RCC_CRS_IRQHandler - Definitions - At line 189 in file startup_stm32l072xx.s - Uses - At line 81 in file startup_stm32l072xx.s - At line 157 in file startup_stm32l072xx.s - -RNG_LPUART1_IRQHandler 00000012 - -Symbol: RNG_LPUART1_IRQHandler - Definitions - At line 213 in file startup_stm32l072xx.s - Uses - At line 106 in file startup_stm32l072xx.s - At line 181 in file startup_stm32l072xx.s - - - -ARM Macro Assembler Page 4 Alphabetic symbol ordering -Relocatable symbols - - -RTC_IRQHandler 00000012 - -Symbol: RTC_IRQHandler - Definitions - At line 187 in file startup_stm32l072xx.s - Uses - At line 79 in file startup_stm32l072xx.s - At line 155 in file startup_stm32l072xx.s - -Reset_Handler 00000000 - -Symbol: Reset_Handler - Definitions - At line 117 in file startup_stm32l072xx.s - Uses - At line 60 in file startup_stm32l072xx.s - At line 118 in file startup_stm32l072xx.s - -SPI1_IRQHandler 00000012 - -Symbol: SPI1_IRQHandler - Definitions - At line 209 in file startup_stm32l072xx.s - Uses - At line 102 in file startup_stm32l072xx.s - At line 177 in file startup_stm32l072xx.s - -SPI2_IRQHandler 00000012 - -Symbol: SPI2_IRQHandler - Definitions - At line 210 in file startup_stm32l072xx.s - Uses - At line 103 in file startup_stm32l072xx.s - At line 178 in file startup_stm32l072xx.s - -SVC_Handler 0000000C - -Symbol: SVC_Handler - Definitions - At line 138 in file startup_stm32l072xx.s - Uses - At line 70 in file startup_stm32l072xx.s - At line 139 in file startup_stm32l072xx.s - -SysTick_Handler 00000010 - -Symbol: SysTick_Handler - Definitions - At line 146 in file startup_stm32l072xx.s - Uses - At line 74 in file startup_stm32l072xx.s - At line 147 in file startup_stm32l072xx.s - -TIM21_IRQHandler 00000012 - -Symbol: TIM21_IRQHandler - Definitions - - - -ARM Macro Assembler Page 5 Alphabetic symbol ordering -Relocatable symbols - - At line 204 in file startup_stm32l072xx.s - Uses - At line 97 in file startup_stm32l072xx.s - At line 172 in file startup_stm32l072xx.s - -TIM22_IRQHandler 00000012 - -Symbol: TIM22_IRQHandler - Definitions - At line 205 in file startup_stm32l072xx.s - Uses - At line 99 in file startup_stm32l072xx.s - At line 173 in file startup_stm32l072xx.s - -TIM2_IRQHandler 00000012 - -Symbol: TIM2_IRQHandler - Definitions - At line 200 in file startup_stm32l072xx.s - Uses - At line 92 in file startup_stm32l072xx.s - At line 168 in file startup_stm32l072xx.s - -TIM3_IRQHandler 00000012 - -Symbol: TIM3_IRQHandler - Definitions - At line 201 in file startup_stm32l072xx.s - Uses - At line 93 in file startup_stm32l072xx.s - At line 169 in file startup_stm32l072xx.s - -TIM6_DAC_IRQHandler 00000012 - -Symbol: TIM6_DAC_IRQHandler - Definitions - At line 202 in file startup_stm32l072xx.s - Uses - At line 94 in file startup_stm32l072xx.s - At line 170 in file startup_stm32l072xx.s - -TIM7_IRQHandler 00000012 - -Symbol: TIM7_IRQHandler - Definitions - At line 203 in file startup_stm32l072xx.s - Uses - At line 95 in file startup_stm32l072xx.s - At line 171 in file startup_stm32l072xx.s - -TSC_IRQHandler 00000012 - -Symbol: TSC_IRQHandler - Definitions - At line 193 in file startup_stm32l072xx.s - Uses - At line 85 in file startup_stm32l072xx.s - At line 161 in file startup_stm32l072xx.s - - - - -ARM Macro Assembler Page 6 Alphabetic symbol ordering -Relocatable symbols - -USART1_IRQHandler 00000012 - -Symbol: USART1_IRQHandler - Definitions - At line 211 in file startup_stm32l072xx.s - Uses - At line 104 in file startup_stm32l072xx.s - At line 179 in file startup_stm32l072xx.s - -USART2_IRQHandler 00000012 - -Symbol: USART2_IRQHandler - Definitions - At line 212 in file startup_stm32l072xx.s - Uses - At line 105 in file startup_stm32l072xx.s - At line 180 in file startup_stm32l072xx.s - -USART4_5_IRQHandler 00000012 - -Symbol: USART4_5_IRQHandler - Definitions - At line 199 in file startup_stm32l072xx.s - Uses - At line 91 in file startup_stm32l072xx.s - At line 167 in file startup_stm32l072xx.s - -USB_IRQHandler 00000012 - -Symbol: USB_IRQHandler - Definitions - At line 214 in file startup_stm32l072xx.s - Uses - At line 108 in file startup_stm32l072xx.s - At line 182 in file startup_stm32l072xx.s - -WWDG_IRQHandler 00000012 - -Symbol: WWDG_IRQHandler - Definitions - At line 185 in file startup_stm32l072xx.s - Uses - At line 77 in file startup_stm32l072xx.s - At line 153 in file startup_stm32l072xx.s - -__user_initial_stackheap 00000014 - -Symbol: __user_initial_stackheap - Definitions - At line 236 in file startup_stm32l072xx.s - Uses - At line 234 in file startup_stm32l072xx.s -Comment: __user_initial_stackheap used once -39 symbols - - - -ARM Macro Assembler Page 1 Alphabetic symbol ordering -Absolute symbols - -Heap_Size 00000400 - -Symbol: Heap_Size - Definitions - At line 42 in file startup_stm32l072xx.s - Uses - At line 46 in file startup_stm32l072xx.s - At line 240 in file startup_stm32l072xx.s - -Stack_Size 00000600 - -Symbol: Stack_Size - Definitions - At line 31 in file startup_stm32l072xx.s - Uses - At line 34 in file startup_stm32l072xx.s - At line 239 in file startup_stm32l072xx.s - -__Vectors_Size 000000C0 - -Symbol: __Vectors_Size - Definitions - At line 112 in file startup_stm32l072xx.s - Uses - At line 57 in file startup_stm32l072xx.s -Comment: __Vectors_Size used once -3 symbols - - - -ARM Macro Assembler Page 1 Alphabetic symbol ordering -External symbols - -SystemInit 00000000 - -Symbol: SystemInit - Definitions - At line 120 in file startup_stm32l072xx.s - Uses - At line 121 in file startup_stm32l072xx.s -Comment: SystemInit used once -__main 00000000 - -Symbol: __main - Definitions - At line 119 in file startup_stm32l072xx.s - Uses - At line 123 in file startup_stm32l072xx.s -Comment: __main used once -__use_two_region_memory 00000000 - -Symbol: __use_two_region_memory - Definitions - At line 233 in file startup_stm32l072xx.s - Uses - None -Comment: __use_two_region_memory unused -3 symbols -392 symbols in table diff --git a/User/board/board.c b/User/board/board.c index 2bb64ec..ecf540b 100644 --- a/User/board/board.c +++ b/User/board/board.c @@ -16,7 +16,8 @@ adc_t adc1 = { float32 torsion_detect(uint16_t adc) { float32 val = 0; - val = ((float32)adc - 1500) / (1.934 * 3) * 10; + val = (float32)adc / 4096 * 3000; + val = (val - 1500) / 101 / (1.934 * 3) * 10; return val; } @@ -25,7 +26,8 @@ float32 torsion_detect(uint16_t adc) float32 pressure_detect(uint16_t adc) { float32 val = 0; - val = ((float32)adc - 600) / (10 * 15) / 16 * 10; + val = (float32)adc / 4096 * 3000; + val = (val - 600) / (10 * 15) / 16 * 1000; return val; } @@ -34,7 +36,8 @@ float32 pressure_detect(uint16_t adc) float32 flow_detect(uint16_t adc) { float32 val = 0; - val = ((float32)adc - 600) / (10 * 15) / 16 * 300; + val = (float32)adc / 4096 * 3000; + val = (val - 600) / (10 * 15) / 16 * 300; return val; } @@ -73,6 +76,7 @@ void motor_process(void) case MOTOR_STOP: step_motor->interface.stop(motor); motor_state = MOTOR_IDEL; + break; case MOTOR_STEP: step_motor->interface.set_angle(motor, motor_param->angle, (dir_e)motor_param->dir); motor_state = MOTOR_IDEL; diff --git a/User/board/board.h b/User/board/board.h index 3fee36d..97a04fe 100644 --- a/User/board/board.h +++ b/User/board/board.h @@ -6,7 +6,7 @@ #define UART_RXSIZE (240u) // 接收240个字节 #define UART_TXSIZE (240u) // 发送240个字节 -#define PULSE_REV 18000.0 /* 每圈脉冲数 */ +#define PULSE_REV (18000.0 * 5) /* 每圈脉冲数 */ #define MAX_STEP_ANGLE (360 / PULSE_REV) /* 最小步距(360/PULSE_REV) */ #define ANGLE 180 // 步进电机180度,转盘转动1度 @@ -31,7 +31,7 @@ typedef enum typedef struct { uint8_t dir; - uint32_t angle; + float32 angle; } motor_ctrl_t; extern void board_init(void); diff --git a/User/board/motor.c b/User/board/motor.c index 8092aac..278729e 100644 --- a/User/board/motor.c +++ b/User/board/motor.c @@ -34,13 +34,15 @@ static void step_motor_stop(motor_t *motor) handle->attribute.angle = 0; handle->attribute.pulse_count = 0; PWM_STOP(handle->pwm_timer, handle->pwm_channel); + LL_TIM_DisableIT_UPDATE(handle->pwm_timer); + LL_TIM_ClearFlag_UPDATE(TIM21); if (handle->interface.stop_cb != NULL) { handle->interface.stop_cb(motor); } } -static void step_motor_set_angle(motor_t *motor, uint32_t angle, dir_e dir) +static void step_motor_set_angle(motor_t *motor, float32 angle, dir_e dir) { DBG_ASSERT(motor != NULL __DBG_LINE); step_motor_t *handle = &motor->handle.step_motor; @@ -88,8 +90,8 @@ void step_motor_update(motor_t *motor) if (handle->attribute.pulse_count <= 0) /* 当脉冲数等于0的时候 代表需要发送的脉冲个数已完成,停止定时器输出 */ { LOG_PRINT("累计旋转的角度:%d\r\n", (int)(handle->attribute.add_pulse_count * handle->attribute.min_step_angle)); /* 打印累计转动了多少角度 */ - handle->interface.stop(motor); - /* 停止接口一输出 */ + handle->interface.stop(motor); + /* 停止接口一输出 */ } } diff --git a/User/board/motor.h b/User/board/motor.h index bcd48b0..063fee5 100644 --- a/User/board/motor.h +++ b/User/board/motor.h @@ -37,7 +37,7 @@ typedef struct void (*init)(motor_t *motor, gpio_t dir, gpio_t en, float32 min_step_angle, TIM_TypeDef *pwm_timer, uint32_t pwm_channel); // 初始化 void (*run)(motor_t *motor, dir_e dir); // 运行 void (*stop)(motor_t *motor); // 停止 - void (*set_angle)(motor_t *motor, uint32_t angle, dir_e dir); // 将角度转换成脉冲个数并运行 + void (*set_angle)(motor_t *motor, float32 angle, dir_e dir); // 将角度转换成脉冲个数并运行 void (*stop_cb)(motor_t *motor); // 停止回调函数,在stop中执行 } step_motor_interface_t; @@ -45,7 +45,7 @@ typedef struct typedef struct { float32 min_step_angle; /* 最小步距角 */ - int angle; /* 设置需要旋转的角度 */ + float32 angle; /* 设置需要旋转的角度 */ dir_e dir; /* 方向 */ uint8_t en; /* 使能 */ __IO uint32_t pulse_count; /* 脉冲个数记录 */ diff --git a/motor.ioc b/motor.ioc index 065765a..a72e90b 100644 --- a/motor.ioc +++ b/motor.ioc @@ -57,18 +57,20 @@ Mcu.Name=STM32L072R(B-Z)Tx Mcu.Package=LQFP64 Mcu.Pin0=PH0-OSC_IN Mcu.Pin1=PH1-OSC_OUT -Mcu.Pin10=PA14 -Mcu.Pin11=VP_SYS_VS_Systick -Mcu.Pin12=VP_TIM6_VS_ClockSourceINT +Mcu.Pin10=PA10 +Mcu.Pin11=PA13 +Mcu.Pin12=PA14 +Mcu.Pin13=VP_SYS_VS_Systick +Mcu.Pin14=VP_TIM6_VS_ClockSourceINT Mcu.Pin2=PC3 -Mcu.Pin3=PB12 -Mcu.Pin4=PB13 -Mcu.Pin5=PB14 -Mcu.Pin6=PB15 -Mcu.Pin7=PA9 -Mcu.Pin8=PA10 -Mcu.Pin9=PA13 -Mcu.PinsNb=13 +Mcu.Pin3=PA7 +Mcu.Pin4=PB0 +Mcu.Pin5=PB12 +Mcu.Pin6=PB13 +Mcu.Pin7=PB14 +Mcu.Pin8=PB15 +Mcu.Pin9=PA9 +Mcu.PinsNb=15 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32L072RBTx @@ -91,8 +93,12 @@ PA13.Mode=Serial_Wire PA13.Signal=SYS_SWDIO PA14.Mode=Serial_Wire PA14.Signal=SYS_SWCLK +PA7.Mode=IN7 +PA7.Signal=ADC_IN7 PA9.Mode=Asynchronous PA9.Signal=USART1_TX +PB0.Mode=IN8 +PB0.Signal=ADC_IN8 PB12.GPIOParameters=GPIO_Speed,PinState,GPIO_Label PB12.GPIO_Label=ENA PB12.GPIO_Speed=GPIO_SPEED_FREQ_HIGH