/**
******************************************************************************
* @file stm32f0xx_tim.c
* @author MCD Application Team
* @version V1.0.0
* @date 23-March-2012
* @brief This file provides firmware functions to manage the following
* functionalities of the TIM peripheral:
* + TimeBase management
* + Output Compare management
* + Input Capture management
* + 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 STM32F0xx devices These functions are split in 8 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) 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 2012 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 "stm32f0xx_tim.h"
#include "stm32f0xx_rcc.h"
/** @addtogroup STM32F0xx_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)
/* 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, &
没有合适的资源?快使用搜索试试~ 我知道了~
基于STM32的步进电机加减速程序.zip_Driver_stm32步进电机_步进电机 STM32_步进电机 STM32
共103个文件
c:28个
h:27个
d:15个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 132 浏览量
2022-07-15
12:20:15
上传
评论
收藏 1.36MB ZIP 举报
温馨提示
应用于STM32的微处理器,进行步进电机的加减速调节。
资源详情
资源评论
资源推荐
收起资源包目录
基于STM32的步进电机加减速程序.zip_Driver_stm32步进电机_步进电机 STM32_步进电机 STM32 (103个子文件)
key.uvgui.Administrator 73KB
keilkill.bat 399B
stm32f0xx_tim.c 121KB
stm32f0xx_rtc.c 87KB
stm32f0xx_usart.c 79KB
stm32f0xx_rcc.c 58KB
stm32f0xx_i2c.c 54KB
stm32f0xx_spi.c 49KB
stm32f0xx_adc.c 45KB
stm32f0xx_flash.c 38KB
stm32f0xx_dma.c 28KB
stm32f0xx_cec.c 24KB
stm32f0xx_pwr.c 19KB
stm32f0xx_dac.c 18KB
stm32f0xx_gpio.c 18KB
stm32f0xx_comp.c 15KB
system_stm32f0xx.c 12KB
stm32f0xx_syscfg.c 11KB
stm32f0xx_iwdg.c 11KB
stm32f0xx_exti.c 10KB
stm32f0xx_wwdg.c 10KB
stm32f0xx_crc.c 8KB
stm32f0xx_dbgmcu.c 7KB
stm32f0xx_misc.c 6KB
stm32f0xx_it.c 4KB
time.c 2KB
gpio.c 2KB
exit.c 1KB
main.c 681B
systick.c 493B
stm32f0xx_tim.crf 228KB
stm32f0xx_usart.crf 216KB
stm32f0xx_rcc.crf 215KB
stm32f0xx_gpio.crf 210KB
system_stm32f0xx.crf 209KB
stm32f0xx_exti.crf 209KB
stm32f0xx_syscfg.crf 208KB
time.crf 208KB
stm32f0xx_it.crf 208KB
main.crf 208KB
gpio.crf 208KB
stm32f0xx_misc.crf 208KB
exit.crf 207KB
systick.crf 207KB
stm32f0xx_syscfg.d 106B
stm32f0xx_usart.d 102B
stm32f0xx_gpio.d 98B
stm32f0xx_misc.d 98B
stm32f0xx_exti.d 98B
stm32f0xx_rcc.d 94B
stm32f0xx_tim.d 94B
stm32f0xx_it.d 90B
systick.d 66B
time.d 54B
exit.d 54B
system_stm32f0xx.d 53B
startup_stm32f0xx.d 44B
gpio.d 27B
main.d 18B
key_KEY.dep 7KB
stm32f0xx_tim.h 50KB
stm32f0xx_rtc.h 34KB
stm32f0xx_usart.h 25KB
stm32f0xx_spi.h 22KB
stm32f0xx_rcc.h 20KB
stm32f0xx_adc.h 19KB
stm32f0xx_i2c.h 18KB
stm32f0xx_dma.h 14KB
stm32f0xx_gpio.h 13KB
stm32f0xx_cec.h 12KB
stm32f0xx_flash.h 11KB
stm32f0xx_comp.h 10KB
stm32f0xx_syscfg.h 9KB
stm32f0xx_exti.h 8KB
stm32f0xx_dac.h 7KB
stm32f0xx_pwr.h 6KB
stm32f0xx_iwdg.h 4KB
stm32f0xx_misc.h 4KB
stm32f0xx_dbgmcu.h 4KB
stm32f0xx_crc.h 4KB
stm32f0xx_wwdg.h 3KB
stm32f0xx_conf.h 3KB
stm32f0xx_it.h 2KB
time.h 213B
systick.h 193B
gpio.h 151B
exit.h 116B
key.htm 49KB
key.build_log.htm 4KB
JLinkSettings.ini 573B
key.uvgui.lenovo 72KB
key.lnp 521B
startup_stm32f0xx.lst 29KB
key.map 48KB
startup_stm32f0xx.o 5KB
key.plg 3KB
startup_stm32f0xx.s 10KB
key.sct 479B
key.uvgui.Shao 132KB
key.uvgui.ShaoPu 69KB
共 103 条
- 1
- 2
JaniceLu
- 粉丝: 85
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 数据库管理工具:dbeaver-ce-24.0.3-macos-aarch64.dmg
- 和平巨魔跨进成免费.ipa
- 数据库管理工具:dbeaver-ce-24.0.2-stable.x86-64.rpm
- 数据库管理工具:dbeaver-ce-24.0.2-macos-aarch64.dmg
- 数据库管理工具:dbeaver-ce-24.0.1-stable.x86-64.rpm
- 数据库管理工具:dbeaver-ce-24.0.1-macos-aarch64.dmg
- 数据库管理工具:dbeaver-ce-24.0.0-stable.x86-64.rpm
- 数据库管理工具:dbeaver-ce-24.0.0-macos-x86-64.dmg
- 数据库管理工具:dbeaver-ce-24.0.0-macos-aarch64.dmg
- MATRIX KEY 4*4触摸按键模块
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1