/**
******************************************************************************
* @file stm32f4xx_tim.c
* @author MCD Application Team
* @version V1.4.0
* @date 04-August-2014
* @brief This file provides firmware functions to manage the following
* functionalities of the TIM peripheral:
* + TimeBase management
* + Output Compare management
* + Input Capture management
* + Advanced-control timers (TIM1 and TIM8) specific features
* + Interrupts, DMA and flags management
* + Clocks management
* + Synchronization management
* + Specific interface management
* + Specific remapping management
*
@verbatim
===============================================================================
##### How to use this driver #####
===============================================================================
[..]
This driver provides functions to configure and program the TIM
of all STM32F4xx devices.
These functions are split in 9 groups:
(#) TIM TimeBase management: this group includes all needed functions
to configure the TM Timebase unit:
(++) Set/Get Prescaler
(++) Set/Get Autoreload
(++) Counter modes configuration
(++) Set Clock division
(++) Select the One Pulse mode
(++) Update Request Configuration
(++) Update Disable Configuration
(++) Auto-Preload Configuration
(++) Enable/Disable the counter
(#) TIM Output Compare management: this group includes all needed
functions to configure the Capture/Compare unit used in Output
compare mode:
(++) Configure each channel, independently, in Output Compare mode
(++) Select the output compare modes
(++) Select the Polarities of each channel
(++) Set/Get the Capture/Compare register values
(++) Select the Output Compare Fast mode
(++) Select the Output Compare Forced mode
(++) Output Compare-Preload Configuration
(++) Clear Output Compare Reference
(++) Select the OCREF Clear signal
(++) Enable/Disable the Capture/Compare Channels
(#) TIM Input Capture management: this group includes all needed
functions to configure the Capture/Compare unit used in
Input Capture mode:
(++) Configure each channel in input capture mode
(++) Configure Channel1/2 in PWM Input mode
(++) Set the Input Capture Prescaler
(++) Get the Capture/Compare values
(#) Advanced-control timers (TIM1 and TIM8) specific features
(++) Configures the Break input, dead time, Lock level, the OSSI,
the OSSR State and the AOE(automatic output enable)
(++) Enable/Disable the TIM peripheral Main Outputs
(++) Select the Commutation event
(++) Set/Reset the Capture Compare Preload Control bit
(#) TIM interrupts, DMA and flags management
(++) Enable/Disable interrupt sources
(++) Get flags status
(++) Clear flags/ Pending bits
(++) Enable/Disable DMA requests
(++) Configure DMA burst mode
(++) Select CaptureCompare DMA request
(#) TIM clocks management: this group includes all needed functions
to configure the clock controller unit:
(++) Select internal/External clock
(++) Select the external clock mode: ETR(Mode1/Mode2), TIx or ITRx
(#) TIM synchronization management: this group includes all needed
functions to configure the Synchronization unit:
(++) Select Input Trigger
(++) Select Output Trigger
(++) Select Master Slave Mode
(++) ETR Configuration when used as external trigger
(#) TIM specific interface management, this group includes all
needed functions to use the specific TIM interface:
(++) Encoder Interface Configuration
(++) Select Hall Sensor
(#) TIM specific remapping management includes the Remapping
configuration of specific timers
@endverbatim
******************************************************************************
* @attention
*
* <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2>
*
* Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.st.com/software_license_agreement_liberty_v2
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************
*/
/* Includes ------------------------------------------------------------------*/
#include "stm32f4xx_tim.h"
#include "stm32f4xx_rcc.h"
/** @addtogroup STM32F4xx_StdPeriph_Driver
* @{
*/
/** @defgroup TIM
* @brief TIM driver modules
* @{
*/
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* ---------------------- 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)
#define CCMR_OC13M_MASK ((uint16_t)0xFF8F)
#define CCMR_OC24M_MASK ((uint16_t)0x8FFF)
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
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);
/* Private functions ---------------------------------------------------------*/
/** @defgroup TIM_Private_Functions
* @{
*/
/** @defgroup TIM_Group1 TimeBase management functions
* @brief TimeBase management functions
*
@verbatim
===============================================================================
##### TimeBase management functions #####
===============================================================================
##### TIM Driver: how to use it in Timing(Time base) Mode #####
===============================================================================
[..]
To use the Timer in Timing(Time base) mode, the following steps are mandatory:
(#) Enable TIM clock using RCC_APBxPeriphClockCmd(RCC_APBxPeriph_TIMx, ENABLE) function
(#) Fill the TIM_TimeBaseInitStruct with the desired parameters.
(#) C
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于STM32的智能家居设计.zip (231个子文件)
IOT_LED.uvguix.Administrator 144KB
IOT_LED.axf 518KB
keilkilll.bat 399B
stm32f4xx_tim.c 122KB
stm32f4xx_rtc.c 100KB
stm32f4xx_rcc.c 97KB
lcd.c 86KB
stm32f4xx_adc.c 67KB
stm32f4xx_flash.c 62KB
stm32f4xx_can.c 59KB
stm32f4xx_cryp_aes.c 57KB
stm32f4xx_usart.c 57KB
stm32f4xx_fmc.c 55KB
stm32f4xx_i2c.c 53KB
stm32f4xx_dma.c 52KB
stm32f4xx_spi.c 51KB
system_stm32f4xx.c 47KB
stm32f4xx_sai.c 45KB
gizwits_protocol.c 43KB
stm32f4xx_fsmc.c 41KB
stm32f4xx_ltdc.c 39KB
stm32f4xx_sdio.c 38KB
stm32f4xx_pwr.c 37KB
stm32f4xx_cryp.c 35KB
stm32f4xx_dma2d.c 27KB
stm32f4xx_dac.c 26KB
stm32f4xx_hash.c 26KB
stm32f4xx_gpio.c 25KB
stm32f4xx_dcmi.c 18KB
stm32f4xx_rng.c 14KB
misc.c 11KB
stm32f4xx_cryp_tdes.c 10KB
stm32f4xx_wwdg.c 10KB
stm32f4xx_exti.c 10KB
stm32f4xx_cryp_des.c 10KB
stm32f4xx_hash_sha1.c 10KB
stm32f4xx_hash_md5.c 9KB
stm32f4xx_syscfg.c 9KB
stm32f4xx_iwdg.c 9KB
dataPointTools.c 9KB
gizwits_product.c 8KB
delay.c 8KB
stm32f4xx_dbgmcu.c 7KB
common.c 6KB
stm32f4xx_flash_ramfunc.c 5KB
usart.c 5KB
stm32f4xx_it.c 4KB
main.c 4KB
stm32f4xx_crc.c 4KB
ringbuffer.c 3KB
adc.c 3KB
usart3.c 3KB
dht11.c 3KB
adc3.c 2KB
pwm.c 2KB
timer.c 2KB
key.c 2KB
led.c 2KB
lsens.c 1KB
beep.c 1KB
sys.c 1KB
feng.c 664B
lcd.crf 459KB
main.crf 455KB
gizwits_product.crf 454KB
usart3.crf 452KB
timer.crf 452KB
stm32f4xx_tim.crf 443KB
stm32f4xx_rcc.crf 434KB
stm32f4xx_adc.crf 430KB
usart.crf 429KB
pwm.crf 429KB
stm32f4xx_usart.crf 428KB
dht11.crf 426KB
stm32f4xx_gpio.crf 425KB
key.crf 425KB
adc.crf 425KB
delay.crf 425KB
adc3.crf 425KB
lsens.crf 425KB
system_stm32f4xx.crf 425KB
led.crf 424KB
feng.crf 424KB
beep.crf 424KB
sys.crf 424KB
stm32f4xx_syscfg.crf 424KB
misc.crf 423KB
stm32f4xx_it.crf 423KB
gizwits_protocol.crf 46KB
datapointtools.crf 22KB
common.crf 20KB
ringbuffer.crf 20KB
gizwits_product.d 3KB
main.d 2KB
usart3.d 2KB
timer.d 2KB
stm32f4xx_syscfg.d 2KB
stm32f4xx_usart.d 2KB
stm32f4xx_gpio.d 2KB
system_stm32f4xx.d 2KB
共 231 条
- 1
- 2
- 3
资源评论
- 小浩子7号2020-03-23可以用,能够运行!!!!
难关
- 粉丝: 2
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功