/**
******************************************************************************
* @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.
(#) Call TIM_TimeBaseInit(TIMx, &TIM_TimeBaseInitStruct) to configure the Time Base unit
with the corresponding configuration
(#) Enable the NVIC if you ne
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于STM32+频率发生器+通信检测的无线充电通信系统是一套无线传输电能和数据的系统设计,数据传输和能量传输共享信道。这套系统有专用的频率发生器,并添加通信检测功能。资源中基于stm32的软件设计主要包含F4的频率发生器V1.0软件设计源码、定时器1互补输出软件设计源码、用两个定时器实现双定时器。资源的硬件设计部分主要包含有发送端、接收端、转接板的原理图和PCB源文件。频率发生器主要实现了通过旋转编码开关调节波形输出频率、占空比和死区宽度,同时通过板载按键切换数据输出。# 拿到资料包后可轻松复刻出一样的项目,可以直接运行,轻松复刻,有任何使用问题欢迎随时与博主沟通,博主专注于嵌入式领域,欢迎交流学习# 所有源码经过测试,可直接运行 # 本资源适合学习/练手、毕业设计、课程设计、期末/期中/大作业、工程实训、相关项目/竞赛学习方面等 # 资源硬件部分若不会画PCB电路,可选择根据提供的引脚连接将其代替为面包板+杜邦线+外设的方式,下载源码轻松便可复刻。
资源推荐
资源详情
资源评论
收起资源包目录
基于STM32+频率发生器+通信检测的无线充电通信系统设计.rar-博主专注嵌入式 (1365个子文件)
Template.uvguix.20931 170KB
Template.uvguix.20931 168KB
Template.uvguix.20931 167KB
Template.uvguix.20931 166KB
Template.uvguix.20931 165KB
Template.uvguix.20931 165KB
Template.uvguix.20931 164KB
Template.uvguix.20931 164KB
Template.uvguix.20931 164KB
Template.uvguix.20931 163KB
Template.uvguix.Administrator 139KB
Template.uvguix.Administrator 139KB
Template.uvguix.Administrator 139KB
Template.uvguix.Administrator 139KB
Template.uvguix.Administrator 139KB
Template.uvguix.Administrator 139KB
Template.uvguix.Administrator 139KB
Template.uvguix.Administrator 139KB
Template.uvguix.Administrator 139KB
Template.uvguix.Administrator 139KB
keilkilll.bat 372B
keilkilll.bat 372B
keilkilll.bat 372B
keilkilll.bat 372B
keilkilll.bat 372B
keilkilll.bat 372B
keilkilll.bat 372B
keilkilll.bat 372B
keilkilll.bat 372B
keilkilll.bat 372B
keilkilll.bat 372B
keilkilll.bat 372B
stm32f4xx_tim.c 119KB
stm32f4xx_tim.c 119KB
stm32f4xx_tim.c 119KB
stm32f4xx_tim.c 119KB
stm32f4xx_tim.c 119KB
stm32f4xx_tim.c 119KB
stm32f4xx_tim.c 119KB
stm32f4xx_tim.c 119KB
stm32f4xx_tim.c 119KB
stm32f4xx_tim.c 119KB
stm32f10x_tim.c 104KB
stm32f10x_tim.c 104KB
stm32f4xx_rtc.c 98KB
stm32f4xx_rtc.c 98KB
stm32f4xx_rtc.c 98KB
stm32f4xx_rtc.c 98KB
stm32f4xx_rtc.c 98KB
stm32f4xx_rtc.c 98KB
stm32f4xx_rtc.c 98KB
stm32f4xx_rtc.c 98KB
stm32f4xx_rtc.c 98KB
stm32f4xx_rtc.c 98KB
stm32f4xx_rcc.c 94KB
stm32f4xx_rcc.c 94KB
stm32f4xx_rcc.c 94KB
stm32f4xx_rcc.c 94KB
stm32f4xx_rcc.c 94KB
stm32f4xx_rcc.c 94KB
stm32f4xx_rcc.c 94KB
stm32f4xx_rcc.c 94KB
stm32f4xx_rcc.c 94KB
stm32f4xx_rcc.c 94KB
lcd.c 84KB
lcd.c 84KB
lcd.c 84KB
lcd.c 84KB
lcd.c 84KB
lcd.c 84KB
lcd.c 84KB
lcd.c 84KB
lcd.c 84KB
lcd.c 84KB
stm32f4xx_adc.c 66KB
stm32f4xx_adc.c 66KB
stm32f4xx_adc.c 66KB
stm32f4xx_adc.c 66KB
stm32f4xx_adc.c 66KB
stm32f4xx_adc.c 66KB
stm32f4xx_adc.c 66KB
stm32f4xx_adc.c 66KB
stm32f4xx_adc.c 66KB
stm32f4xx_adc.c 66KB
stm32f4xx_flash.c 60KB
stm32f4xx_flash.c 60KB
stm32f4xx_flash.c 60KB
stm32f4xx_flash.c 60KB
stm32f4xx_flash.c 60KB
stm32f4xx_flash.c 60KB
stm32f4xx_flash.c 60KB
stm32f4xx_flash.c 60KB
stm32f4xx_flash.c 60KB
stm32f4xx_flash.c 60KB
stm32f10x_flash.c 59KB
stm32f10x_flash.c 59KB
stm32f4xx_can.c 57KB
stm32f4xx_can.c 57KB
stm32f4xx_can.c 57KB
stm32f4xx_can.c 57KB
共 1365 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
阿齐Archie
- 粉丝: 1w+
- 资源: 2301
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功