基于stm32的Buck-Boost数控电源.zip
大小:8.36MB
价格:45积分
下载量:0
评分:
5.0
上传者:2401_82611864
更新日期:2025-09-22

基于stm32的Buck-Boost数控电源

资源文件列表(大概)

文件名
大小
PCB/
-
PCB/Buck-Boost数控电源.eprj
1.24MB
PCB/Buck-Boost数控电源_backup/
-
PCB/Buck-Boost数控电源_backup/Buck-Boost数控电源_v102_2024-12-04-15-28.zip
126.13KB
PCB/Buck-Boost数控电源_backup/Buck-Boost数控电源_v106_2024-12-04-16-28.zip
133.37KB
PCB/Buck-Boost数控电源_backup/Buck-Boost数控电源_v114_2024-12-06-11-01.zip
162.44KB
PCB/Buck-Boost数控电源_backup/Buck-Boost数控电源_v29_2024-12-01-16-29.zip
36.55KB
PCB/Buck-Boost数控电源_backup/Buck-Boost数控电源_v48_2024-12-02-21-44.zip
60.94KB
PCB/Buck-Boost数控电源_backup/Buck-Boost数控电源_v93_2024-12-03-21-01.zip
114.01KB
PCB/Buck-Boost数控电源_backup/Buck-Boost数控电源_v98_2024-12-03-22-01.zip
114.97KB
仿真/
-
仿真/multisim/
-
仿真/multisim/Buck-Boost.ms14
328.76KB
仿真/multisim/Buck-Boost.ms14 (Security copy)
229.72KB
仿真/Proteus/
-
仿真/Proteus/Backup Of Buck-Boost.pdsbak
22.63KB
仿真/Proteus/Buck-Boost.pdsprj
22.37KB
仿真/Proteus/Buck-Boost.pdsprj.HP001.86178.workspace
25.97KB
仿真/Proteus/Last Loaded Buck-Boost.pdsbak
22.96KB
控制程序/
-
控制程序/Buck-Boost数控电源/
-
控制程序/Buck-Boost数控电源/DebugConfig/
-
控制程序/Buck-Boost数控电源/DebugConfig/Target_1_STM32F103C8_1.0.0.dbgconf
6.79KB
控制程序/Buck-Boost数控电源/EventRecorderStub.scvd
339B
控制程序/Buck-Boost数控电源/Hardware/
-
控制程序/Buck-Boost数控电源/Hardware/AD.c
2.39KB
控制程序/Buck-Boost数控电源/Hardware/AD.h
122B
控制程序/Buck-Boost数控电源/Hardware/Key.c
1.06KB
控制程序/Buck-Boost数控电源/Hardware/Key.h
113B
控制程序/Buck-Boost数控电源/Hardware/LED.c
1.05KB
控制程序/Buck-Boost数控电源/Hardware/LED.h
142B
控制程序/Buck-Boost数控电源/Hardware/OLED.c
7.73KB
控制程序/Buck-Boost数控电源/Hardware/OLED.h
567B
控制程序/Buck-Boost数控电源/Hardware/OLED_Font.h
8.94KB
控制程序/Buck-Boost数控电源/Hardware/PWM.c
2.02KB
控制程序/Buck-Boost数控电源/Hardware/PWM.h
118B
控制程序/Buck-Boost数控电源/keilkill.bat
399B
控制程序/Buck-Boost数控电源/Library/
-
控制程序/Buck-Boost数控电源/Library/misc.c
6.88KB
控制程序/Buck-Boost数控电源/Library/misc.h
8.77KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_adc.c
46.09KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_adc.h
21.18KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_bkp.c
8.26KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_bkp.h
7.38KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_can.c
44.05KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_can.h
26.91KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_cec.c
11.38KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_cec.h
6.42KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_crc.c
3.27KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_crc.h
2.11KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_dac.c
18.64KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_dac.h
14.88KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_dbgmcu.c
5.03KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_dbgmcu.h
3.73KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_dma.c
28.91KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_dma.h
20.27KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_exti.c
6.8KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_exti.h
6.66KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_flash.c
61.08KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_flash.h
24.85KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_fsmc.c
34.65KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_fsmc.h
26.38KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_gpio.c
22.68KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_gpio.h
19.7KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_i2c.c
44.71KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_i2c.h
29.33KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_iwdg.c
4.8KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_iwdg.h
3.74KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_pwr.c
8.55KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_pwr.h
4.28KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_rcc.c
50.07KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_rcc.h
29.74KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_rtc.c
8.4KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_rtc.h
3.77KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_sdio.c
28.25KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_sdio.h
21.35KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_spi.c
29.52KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_spi.h
17.31KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_tim.c
106.6KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_tim.h
51.2KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_usart.c
37.41KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_usart.h
16.16KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_wwdg.c
5.6KB
控制程序/Buck-Boost数控电源/Library/stm32f10x_wwdg.h
2.9KB
控制程序/Buck-Boost数控电源/Listings/
-
控制程序/Buck-Boost数控电源/Listings/Project.map
127.11KB
控制程序/Buck-Boost数控电源/Listings/startup_stm32f10x_md.lst
40.47KB
控制程序/Buck-Boost数控电源/Objects/
-
控制程序/Buck-Boost数控电源/Objects/ad.crf
338.93KB
控制程序/Buck-Boost数控电源/Objects/ad.d
1.25KB
控制程序/Buck-Boost数控电源/Objects/ad.o
372.61KB
控制程序/Buck-Boost数控电源/Objects/core_cm3.crf
3.85KB
控制程序/Buck-Boost数控电源/Objects/core_cm3.d
106B
控制程序/Buck-Boost数控电源/Objects/core_cm3.o
10.93KB
控制程序/Buck-Boost数控电源/Objects/delay.crf
338.11KB
控制程序/Buck-Boost数控电源/Objects/delay.d
1.34KB
控制程序/Buck-Boost数控电源/Objects/delay.o
372.07KB
控制程序/Buck-Boost数控电源/Objects/ExtDll.iex
19B
控制程序/Buck-Boost数控电源/Objects/key.crf
339.67KB
控制程序/Buck-Boost数控电源/Objects/key.d
1.35KB
控制程序/Buck-Boost数控电源/Objects/key.o
374.39KB
控制程序/Buck-Boost数控电源/Objects/led.crf
338.65KB
控制程序/Buck-Boost数控电源/Objects/led.d
1.28KB
控制程序/Buck-Boost数控电源/Objects/led.o
373.84KB
控制程序/Buck-Boost数控电源/Objects/main.crf
340.08KB
控制程序/Buck-Boost数控电源/Objects/main.d
1.48KB
控制程序/Buck-Boost数控电源/Objects/main.o
376.3KB
控制程序/Buck-Boost数控电源/Objects/misc.crf
338.78KB
控制程序/Buck-Boost数控电源/Objects/misc.d
1.34KB
控制程序/Buck-Boost数控电源/Objects/misc.o
375.15KB
控制程序/Buck-Boost数控电源/Objects/oled.crf
341.39KB
控制程序/Buck-Boost数控电源/Objects/oled.d
1.35KB
控制程序/Buck-Boost数控电源/Objects/oled.o
395.92KB
控制程序/Buck-Boost数控电源/Objects/Project.axf
377.04KB
控制程序/Buck-Boost数控电源/Objects/Project.build_log.htm
1.72KB
控制程序/Buck-Boost数控电源/Objects/Project.hex
19.29KB
控制程序/Buck-Boost数控电源/Objects/Project.htm
54.94KB
控制程序/Buck-Boost数控电源/Objects/Project.lnp
1.17KB
控制程序/Buck-Boost数控电源/Objects/Project.sct
479B
控制程序/Buck-Boost数控电源/Objects/Project_Target 1.dep
55.13KB
控制程序/Buck-Boost数控电源/Objects/pwm.crf
338.69KB
控制程序/Buck-Boost数控电源/Objects/pwm.d
1.28KB
控制程序/Buck-Boost数控电源/Objects/pwm.o
371.76KB
控制程序/Buck-Boost数控电源/Objects/startup_stm32f10x_md.d
64B
控制程序/Buck-Boost数控电源/Objects/startup_stm32f10x_md.o
5.89KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_adc.crf
345.79KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_adc.d
1.63KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_adc.o
421.79KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_bkp.crf
339.7KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_bkp.d
1.63KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_bkp.o
384.93KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_can.crf
347.36KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_can.d
1.63KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_can.o
407.06KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_cec.crf
340.24KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_cec.d
1.63KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_cec.o
387.54KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_crc.crf
338.35KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_crc.d
1.63KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_crc.o
376.17KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_dac.crf
340.37KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_dac.d
1.63KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_dac.o
385.56KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_dbgmcu.crf
338.14KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_dbgmcu.d
1.73KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_dbgmcu.o
372.28KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_dma.crf
341.82KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_dma.d
1.63KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_dma.o
385.01KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_exti.crf
339.33KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_exti.d
1.66KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_exti.o
379.21KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_flash.crf
345.63KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_flash.d
1.7KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_flash.o
410.73KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_fsmc.crf
344.17KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_fsmc.d
1.66KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_fsmc.o
396.37KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_gpio.crf
342.2KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_gpio.d
1.66KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_gpio.o
395.22KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_i2c.crf
344.57KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_i2c.d
1.63KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_i2c.o
415.99KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_it.crf
338.27KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_it.d
1.59KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_it.o
379.94KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_iwdg.crf
338.45KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_iwdg.d
1.66KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_iwdg.o
376.13KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_pwr.crf
339.61KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_pwr.d
1.63KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_pwr.o
380.82KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_rcc.crf
345.69KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_rcc.d
1.63KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_rcc.o
414.75KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_rtc.crf
339.61KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_rtc.d
1.63KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_rtc.o
387.07KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_sdio.crf
342.8KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_sdio.d
1.66KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_sdio.o
409.59KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_spi.crf
342.66KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_spi.d
1.63KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_spi.o
401.65KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_tim.crf
360.35KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_tim.d
1.63KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_tim.o
499.93KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_usart.crf
344.26KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_usart.d
1.7KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_usart.o
410.81KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_wwdg.crf
338.89KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_wwdg.d
1.66KB
控制程序/Buck-Boost数控电源/Objects/stm32f10x_wwdg.o
379.04KB
控制程序/Buck-Boost数控电源/Objects/system_stm32f10x.crf
339.93KB
控制程序/Buck-Boost数控电源/Objects/system_stm32f10x.d
1.66KB
控制程序/Buck-Boost数控电源/Objects/system_stm32f10x.o
374.5KB
控制程序/Buck-Boost数控电源/Project.uvguix.86178
171.55KB
控制程序/Buck-Boost数控电源/Project.uvoptx
32.63KB
控制程序/Buck-Boost数控电源/Project.uvprojx
26.37KB
控制程序/Buck-Boost数控电源/Start/
-
控制程序/Buck-Boost数控电源/Start/core_cm3.c
16.87KB
控制程序/Buck-Boost数控电源/Start/core_cm3.h
83.71KB
控制程序/Buck-Boost数控电源/Start/startup_stm32f10x_cl.s
15.4KB
控制程序/Buck-Boost数控电源/Start/startup_stm32f10x_hd.s
15.14KB
控制程序/Buck-Boost数控电源/Start/startup_stm32f10x_hd_vl.s
15.32KB
控制程序/Buck-Boost数控电源/Start/startup_stm32f10x_ld.s
12.09KB
控制程序/Buck-Boost数控电源/Start/startup_stm32f10x_ld_vl.s
13.34KB
控制程序/Buck-Boost数控电源/Start/startup_stm32f10x_md.s
12.47KB
控制程序/Buck-Boost数控电源/Start/startup_stm32f10x_md_vl.s
13.74KB
控制程序/Buck-Boost数控电源/Start/startup_stm32f10x_xl.s
15.58KB
控制程序/Buck-Boost数控电源/Start/stm32f10x.h
619.08KB
控制程序/Buck-Boost数控电源/Start/system_stm32f10x.c
35.7KB
控制程序/Buck-Boost数控电源/Start/system_stm32f10x.h
2.04KB
控制程序/Buck-Boost数控电源/System/
-
控制程序/Buck-Boost数控电源/System/Delay.c
838B
控制程序/Buck-Boost数控电源/System/Delay.h
135B
控制程序/Buck-Boost数控电源/System/Key.c
-
控制程序/Buck-Boost数控电源/User/
-
控制程序/Buck-Boost数控电源/User/main.c
1.1KB
控制程序/Buck-Boost数控电源/User/stm32f10x_conf.h
3.18KB
控制程序/Buck-Boost数控电源/User/stm32f10x_it.c
4.3KB
控制程序/Buck-Boost数控电源/User/stm32f10x_it.h
2.04KB
测试数据.xlsx
9.55KB

资源内容介绍

项目描述:使用干电池作为电源,经稳压、滤波模块向电路供电,选用 MOSFET 作为开关,使用 PWM 控制开关状态,选择 GS8558-SR 作为驱动芯片,输出电压、电流经运算放大器输入到 stm32,通过 AD 转换获取电路状态。其中,电路处于连续工作模式,用户可通过按键控制该数控电源的输出电压,使用 OLED 显示电路参量。独立完成了该项目,包括电路设计、参数计算、元件选型、PCB 设计、仿真验证以及控制程序编写。涉及技术:Buck-Boost 电路,multisim,嘉立创 EDA,GPIO,ADC,定时器输出 PWM 波形,标准库
/** ****************************************************************************** * @file stm32f10x_tim.c * @author MCD Application Team * @version V3.5.0 * @date 11-March-2011 * @brief This file provides all the TIM firmware functions. ****************************************************************************** * @attention * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2> ****************************************************************************** */#include "stm32f10x_tim.h"#include "stm32f10x_rcc.h"/** @addtogroup STM32F10x_StdPeriph_Driver * @{ *//** @defgroup TIM * @brief TIM driver modules * @{ *//** @defgroup TIM_Private_TypesDefinitions * @{ *//** * @} *//** @defgroup TIM_Private_Defines * @{ */#define SMCR_ETR_Mask ((uint16_t)0x00FF) #define CCMR_Offset ((uint16_t)0x0018)#define CCER_CCE_Set ((uint16_t)0x0001) #defineCCER_CCNE_Set ((uint16_t)0x0004) /** * @} *//** @defgroup TIM_Private_Macros * @{ *//** * @} *//** @defgroup TIM_Private_Variables * @{ *//** * @} *//** @defgroup TIM_Private_FunctionPrototypes * @{ */static void TI1_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter);static void TI2_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter);static void TI3_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter);static void TI4_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter);/** * @} *//** @defgroup TIM_Private_Macros * @{ *//** * @} *//** @defgroup TIM_Private_Variables * @{ *//** * @} *//** @defgroup TIM_Private_FunctionPrototypes * @{ *//** * @} *//** @defgroup TIM_Private_Functions * @{ *//** * @brief Deinitializes the TIMx peripheral registers to their default reset values. * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. * @retval None */void TIM_DeInit(TIM_TypeDef* TIMx){ assert_param(IS_TIM_ALL_PERIPH(TIMx)); if (TIMx == TIM1) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, DISABLE); } else if (TIMx == TIM2) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, DISABLE); } else if (TIMx == TIM3) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, DISABLE); } else if (TIMx == TIM4) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, DISABLE); } else if (TIMx == TIM5) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM5, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM5, DISABLE); } else if (TIMx == TIM6) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM6, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM6, DISABLE); } else if (TIMx == TIM7) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM7, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM7, DISABLE); } else if (TIMx == TIM8) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM8, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM8, DISABLE); } else if (TIMx == TIM9) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM9, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM9, DISABLE); } else if (TIMx == TIM10) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM10, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM10, DISABLE); } else if (TIMx == TIM11) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM11, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM11, DISABLE); } else if (TIMx == TIM12) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM12, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM12, DISABLE); } else if (TIMx == TIM13) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM13, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM13, DISABLE); } else if (TIMx == TIM14) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM14, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM14, DISABLE); } else if (TIMx == TIM15) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM15, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM15, DISABLE); } else if (TIMx == TIM16) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM16, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM16, DISABLE); } else { if (TIMx == TIM17) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM17, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM17, DISABLE); } }}/** * @brief Initializes the TIMx Time Base Unit peripheral according to * the specified parameters in the TIM_TimeBaseInitStruct. * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. * @param TIM_TimeBaseInitStruct: pointer to a TIM_TimeBaseInitTypeDef * structure that contains the configuration information for the * specified TIM peripheral. * @retval None */void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct){ uint16_t tmpcr1 = 0; assert_param(IS_TIM_ALL_PERIPH(TIMx)); assert_param(IS_TIM_COUNTER_MODE(TIM_TimeBaseInitStruct->TIM_CounterMode)); assert_param(IS_TIM_CKD_DIV(TIM_TimeBaseInitStruct->TIM_ClockDivision)); tmpcr1 = TIMx->CR1; if((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM2) || (TIMx == TIM3)|| (TIMx == TIM4) || (TIMx == TIM5)) { tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_CR1_DIR | TIM_CR1_CMS))); tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode; } if((TIMx != TIM6) && (TIMx != TIM7)) { tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CR1_CKD)); tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision; } TIMx->CR1 = tmpcr1; TIMx->ARR = TIM_TimeBaseInitStruct->TIM_Period ; TIMx->PSC = TIM_TimeBaseInitStruct->TIM_Prescaler; if ((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM15)|| (TIMx == TIM16) || (TIMx == TIM17)) { TIMx->RCR = TIM_TimeBaseInitStruct->TIM_RepetitionCounter; } TIMx->EGR = TIM_PSCReloadMode_Immediate; }/** * @brief Initializes the TIMx Channel1 according to the specified * parameters in the TIM_OCInitStruct. * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. * @param TIM_OCInitStru

用户评论 (0)

发表评论

captcha