• PUDN用户
    了解作者
  • Others
    开发工具
  • 7.1MB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 3
    下载次数
  • 2013-08-02 09:51
    上传日期
STM32输出pwm,基于keil平台,用库函数编写的,现实屏幕为lcd12864.。。。。。。。。。。
PWM.zip
  • PWM
  • STM32F10x_FWLib
  • inc
  • stm32f10x_exti.h
    6.7KB
  • stm32f10x_bkp.h
    7.4KB
  • stm32f10x_fsmc.h
    26.4KB
  • stm32f10x_flash.h
    24.8KB
  • stm32f10x_dma.h
    20.3KB
  • stm32f10x_adc.h
    21.2KB
  • stm32f10x_rcc.h
    29.7KB
  • stm32f10x_crc.h
    2.1KB
  • stm32f10x_pwr.h
    4.3KB
  • misc.h
    8.8KB
  • stm32f10x_cec.h
    6.4KB
  • stm32f10x_dac.h
    14.9KB
  • stm32f10x_iwdg.h
    3.7KB
  • stm32f10x_usart.h
    16.2KB
  • stm32f10x_spi.h
    17.3KB
  • stm32f10x_tim.h
    51.2KB
  • stm32f10x_rtc.h
    3.8KB
  • stm32f10x_can.h
    26.9KB
  • stm32f10x_sdio.h
    21.4KB
  • stm32f10x_gpio.h
    19.7KB
  • stm32f10x_wwdg.h
    2.9KB
  • stm32f10x_dbgmcu.h
    3.7KB
  • stm32f10x_i2c.h
    29.3KB
  • src
  • stm32f10x_can.c
    44KB
  • stm32f10x_flash.c
    61.1KB
  • stm32f10x_dbgmcu.c
    5KB
  • stm32f10x_bkp.c
    8.3KB
  • stm32f10x_crc.c
    3.3KB
  • stm32f10x_dma.c
    28.9KB
  • stm32f10x_dac.c
    18.6KB
  • stm32f10x_iwdg.c
    4.8KB
  • stm32f10x_exti.c
    6.8KB
  • stm32f10x_wwdg.c
    5.6KB
  • stm32f10x_pwr.c
    8.6KB
  • stm32f10x_tim.c
    106.6KB
  • stm32f10x_adc.c
    46.1KB
  • stm32f10x_usart.c
    37.4KB
  • stm32f10x_rtc.c
    8.4KB
  • stm32f10x_i2c.c
    44.7KB
  • misc.c
    6.9KB
  • stm32f10x_fsmc.c
    34.7KB
  • stm32f10x_cec.c
    11.4KB
  • stm32f10x_rcc.c
    50.1KB
  • stm32f10x_sdio.c
    28.3KB
  • stm32f10x_gpio.c
    22.7KB
  • stm32f10x_spi.c
    29.5KB
  • SYSTEM
  • sys
  • sys.h
    2.4KB
  • sys.c
    612B
  • usart
  • usart.h
    882B
  • usart.c
    4KB
  • delay
  • delay.h
    872B
  • delay.c
    2KB
  • USER
  • stm32f10x_crc.d
    1.7KB
  • stm32f10x_rcc.crf
    345.7KB
  • stm32f10x_cec.o
    371.1KB
  • stm32f10x_dac.o
    371.2KB
  • wdg.o
    372.7KB
  • main.crf
    345.1KB
  • PWM.Uv2.bak
    4.8KB
  • wdg.crf
    339.9KB
  • stm32f10x_gpio.crf
    342.2KB
  • system_stm32f10x.c
    35.7KB
  • PWM.plg
    162B
  • stm32f10x_can.d
    1.7KB
  • stm32f10x.h
    619.1KB
  • led.d
    1.3KB
  • stm32f10x_exti.d
    1.7KB
  • stm32f10x_spi.d
    1.7KB
  • stm32f10x_adc.d
    1.7KB
  • sys.o
    368.6KB
  • delay.crf
    338.5KB
  • stm32f10x_iwdg.o
    368.2KB
  • system_stm32f10x.d
    1.6KB
  • stm32f10x_sdio.crf
    342.8KB
  • stm32f10x_pwr.crf
    339.6KB
  • led.o
    367.8KB
  • pwm.d
    1.4KB
  • misc.d
    1.4KB
  • stm32f10x_it.c
    2.4KB
  • stm32f10x_conf.h
    3.2KB
  • PWM.uvgui.fan_hang
    68.8KB
  • stm32f10x_dac.d
    1.7KB
  • stm32f10x_usart.d
    1.7KB
  • stm32f10x_rtc.d
    1.7KB
  • sys.crf
    338.8KB
  • stm32f10x_it.h
    1.9KB
  • stm32f10x_adc.crf
    345.7KB
  • main.c
    1.2KB
  • stm32f10x_tim.d
    1.7KB
  • wdg.d
    1.4KB
  • stm32f10x_fsmc.d
    1.7KB
内容介绍
/** ****************************************************************************** * @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> ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #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 * @{ */ /* ---------------------- TIM registers bit mask ------------------------ */ #define SMCR_ETR_Mask ((uint16_t)0x00FF) #define CCMR_Offset ((uint16_t)0x0018) #define CCER_CCE_Set ((uint16_t)0x0001) #define CCER_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) { /* Check the parameters */ 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; /* Check the parameters */ 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)) { /* Select the Counter Mode */ tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_CR1_DIR | TIM_CR1_CMS))); tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode; } if((TIMx != TIM6) && (TIMx != TIM7)) { /* Set the clock division */ tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CR1_CKD)); tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision; } TIMx->CR1 = tmpcr1; /* Set the Autoreload value */ TIMx->ARR = TIM_TimeBaseInitStruct->TIM_Period ; /* Set the Prescaler value */ TIMx->PSC = TIM_TimeBaseInitStruct->TIM_Prescaler; if ((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM15)|| (TIMx == TIM16) || (TIMx == TIM17)) { /* Set the Repetition Counter value */ TIMx->RCR = TIM_TimeBaseInitStruct->TIM_RepetitionCounter; } /* Generate an update event to reload the Prescaler and the Repetition counter values immediately */ 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
评论
    相关推荐
    • STM32 PWM实现DAC
      STM32F4XXX通过PWM实现DAC功能 控制STM32的TIM9_CH2的PWM输出,经过二阶RC滤波 后转换为DAC输出,通过ADC1的通道5采集PWM DAC的输出电压,在LCD模块上面显示ADC获取到的电压值以 及PWM DAC的设定输出电压值等信息...
    • STM32平台PWM输出 ADC转换加12864显示
      基于STM32平台的ADC转换加4路PWM波输出并且使用12864显示,基于德飞莱例程改写,每一个功能都单独写的,方便了大家的移植,其中12864使用了PF口,ADC-PC1,PWM-PA6-7,PB0-1。
    • 基于stm32pwm动态改变
      能过做到pwm输出,且能够通过按键实时改变陪我们的频率,并能够计数脉冲的数量,和周期。还能显示pwm捕捉的时间
    • STM32参考资料
      ARM Cotrex-M3权威指南(英文).PDF Cortex-M3技术参考手册.pdf ...STM32不完全手册_V2.1.pdf STM32中文参考手册.pdf STM32中文参考手册_V10.pdf STM32中文数据手册 ...STM32勘误资料\STM32F10xx8B_Errata_CH_V6.pdf
    • 基于stm32的按键可调pwm
      基于stm32的按键可调pwm程序,调试通过,可通过按键调节pwm的频率和占空比。
    • STM32F4_LCD_ILI9325
      STM32F04 使用ILI IC 9325显示LCD源码
    • stm32F407采用fsmc驱动lcd
      stm32f407采用fsmc驱动lcd液晶,并且带有读液晶数据的函数和大量的字符函数,支持中文显示,字库有自己决定,文档中带有汉字取模工具
    • STM32学习资料lcd12864
      是学习STM32的最好资料lcd12864(成功,12-12,gpioa).rar
    • STM32无刷直流电机PWM控制
      STM32无刷直流电机控制,使用PWM控制方式,基于V3.5库函数版本
    • STM32F407 12864 PWM输出.rar
      STM32F407 12864 PWM输出.