/**
******************************************************************************
* @file stm32l1xx_tim.c
* @author MCD Application Team
* @version V1.1.1
* @date 05-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 STM32L1xx 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.
(#) 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 "stm32l1xx_tim.h"
#include "stm32l1xx_rcc.h"
/** @addtogroup STM32L1xx_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)
/* 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 need to generate the update interrupt.
(#) Enable the corresponding interrupt using the function
TIM_ITConfig(TIMx, TIM_IT_Update).
(#) Call the TIM_Cmd(ENABLE) function to enable the TIM counter.
[..]
(@) All other functions can be used seperatly to modify, if needed,
没有合适的资源?快使用搜索试试~ 我知道了~
C语言脚本程序,完整STM32工程
共900个文件
h:451个
c:185个
s:61个
需积分: 35 4 下载量 27 浏览量
2022-07-29
09:46:41
上传
评论 1
收藏 10.01MB ZIP 举报
温馨提示
PicoC 动态脚本语言解析程序,C语言脚本程序,完整STM32工程。QQ群:516264725
资源详情
资源评论
资源推荐
收起资源包目录
C语言脚本程序,完整STM32工程 (900个子文件)
picoC.uvgui.Administrator 89KB
cstart_thumb2.asm 4KB
cstart_thumb2.asm 4KB
picoC.axf 714KB
stm32l1xx_tim.c 108KB
stm32f10x_tim.c 107KB
stm32l1xx_rtc.c 96KB
stm32l1xx_adc.c 73KB
stm32l1xx_rcc.c 66KB
em_cmu.c 65KB
stm32f10x_flash.c 61KB
stm32l1xx_flash.c 60KB
stm32l1xx_usart.c 57KB
expression.c 56KB
stm32f10x_rcc.c 50KB
stm32l1xx_i2c.c 49KB
stm32f10x_adc.c 46KB
stm32f10x_i2c.c 45KB
stm32f10x_can.c 44KB
em_lesense.c 42KB
stm32l1xx_spi.c 41KB
em_dma.c 40KB
em_aes.c 40KB
em_ebi.c 40KB
stm32l1xx_dma.c 38KB
stm32f10x_usart.c 37KB
stm32l1xx_sdio.c 37KB
em_usart.c 36KB
system_stm32f10x.c 36KB
system_stm32f10x.c 36KB
stm32f10x_fsmc.c 35KB
stm32l1xx_pwr.c 33KB
library_surveyor.c 33KB
lex.c 30KB
stm32f10x_spi.c 30KB
stm32f10x_dma.c 29KB
stdio.c 28KB
stm32f10x_sdio.c 28KB
library_srv1.c 28KB
em_i2c.c 26KB
parse.c 26KB
stm32l1xx_dac.c 25KB
stm32l1xx_lcd.c 24KB
stm32f10x_gpio.c 23KB
em_pcnt.c 23KB
em_leuart.c 22KB
em_lcd.c 22KB
stm32l1xx_syscfg.c 22KB
em_msc.c 22KB
stm32l1xx_aes_util.c 21KB
clibrary.c 20KB
stm32l1xx_aes.c 20KB
stm32l1xx_flash_ramfunc.c 20KB
stm32l1xx_opamp.c 20KB
segmentlcd.c 20KB
system_stm32l1xx.c 20KB
stm32l1xx_gpio.c 20KB
unistd.c 19KB
em_emu.c 19KB
stm32f10x_dac.c 19KB
em_adc.c 18KB
em_opamp.c 18KB
type.c 18KB
em_letimer.c 17KB
errno.c 15KB
46_grep.c 15KB
library_efm32.c 14KB
stm32l1xx_fsmc.c 14KB
stm32l1xx_comp.c 13KB
variable.c 13KB
system_efm32tg.c 13KB
system_efm32lg.c 13KB
system_efm32g.c 13KB
em_rtc.c 12KB
em_acmp.c 12KB
system_efm32gg.c 12KB
stm32f10x_cec.c 11KB
misc.c 11KB
em_timer.c 11KB
stm32l1xx_exti.c 10KB
stm32l1xx_wwdg.c 10KB
em_burtc.c 10KB
heap.c 9KB
stm32l1xx_iwdg.c 9KB
em_dac.c 9KB
stm32f10x_pwr.c 9KB
stm32f10x_rtc.c 8KB
stm32f10x_bkp.c 8KB
em_rmu.c 8KB
em_gpio.c 8KB
string.c 8KB
math.c 8KB
startup_efm32lg.c 7KB
startup_efm32gg.c 7KB
library_stm32.c 7KB
em_wdog.c 7KB
platform.c 7KB
misc.c 7KB
stm32f10x_exti.c 7KB
startup_efm32g.c 6KB
共 900 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
LQ1846
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于STM32F103C8T6单片机蓄电池在线监测系统主板硬件(原理图+PCB)工程文件.zip
- mysql大纲资料.txt
- c++大纲资料.txt
- 效率工具bat脚本实现日志提取
- MyBatis 中动态 SQL 的示例
- STM8L101F3P6单片机+CC1100模块433M遥控器设计硬件(原理图+PCB)工程文件.zip
- 上传下载铁人下载系统 Liuxing 1.0-liuxing1.0.rar
- 南京邮电大学数学实验实力雄厚,凭借其优秀的师资力量、丰富的实践教学资源和卓越的科研成果,成为国内一流的数学实验教学和科研基地
- 【火爆朋友圈的今天吃什么源码 v1.0】随机的为用户带来每一天的用餐选择和推荐.rar
- MPU6050中文版数据手册
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0