/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
* 文件名称: stm32f10x_tim.c
* 程序作者: MCD Application Team
* 程序版本: V2.0.2
* 编制日期: 07/11/2008
* 功能描述: 这个文件提供了所有TIM的固件函数.
* 本文汉化: 孙可 2008.08.15
********************************************************************************
* 目前的固件的目的是为客户提供关于他们的产品的编码信息以便于节省他们时间。
* 结果, 意法半导体将不会为此承担任何直接,间接或相应的损害赔偿方面的任何索赔要求,
* 例如固件或使用所作的客户编码中他涉嫌包含与他们的相关产品的信息。
*******************************************************************************/
/* 包涵的文件 ------------------------------------------------------------------*/
#include "stm32f10x_tim.h"
#include "stm32f10x_rcc.h"
/* 自用类型 -----------------------------------------------------------*/
/* 自用定义 ------------------------------------------------------------*/
/* ---------------------- TIM registers bit mask ------------------------ */
#define CR1_CEN_Set ((u16)0x0001)
#define CR1_CEN_Reset ((u16)0x03FE)
#define CR1_UDIS_Set ((u16)0x0002)
#define CR1_UDIS_Reset ((u16)0x03FD)
#define CR1_URS_Set ((u16)0x0004)
#define CR1_URS_Reset ((u16)0x03FB)
#define CR1_OPM_Reset ((u16)0x03F7)
#define CR1_CounterMode_Mask ((u16)0x038F)
#define CR1_ARPE_Set ((u16)0x0080)
#define CR1_ARPE_Reset ((u16)0x037F)
#define CR1_CKD_Mask ((u16)0x00FF)
#define CR2_CCPC_Set ((u16)0x0001)
#define CR2_CCPC_Reset ((u16)0xFFFE)
#define CR2_CCUS_Set ((u16)0x0004)
#define CR2_CCUS_Reset ((u16)0xFFFB)
#define CR2_CCDS_Set ((u16)0x0008)
#define CR2_CCDS_Reset ((u16)0xFFF7)
#define CR2_MMS_Mask ((u16)0xFF8F)
#define CR2_TI1S_Set ((u16)0x0080)
#define CR2_TI1S_Reset ((u16)0xFF7F)
#define CR2_OIS1_Reset ((u16)0x7EFF)
#define CR2_OIS1N_Reset ((u16)0x7DFF)
#define CR2_OIS2_Reset ((u16)0x7BFF)
#define CR2_OIS2N_Reset ((u16)0x77FF)
#define CR2_OIS3_Reset ((u16)0x6FFF)
#define CR2_OIS3N_Reset ((u16)0x5FFF)
#define CR2_OIS4_Reset ((u16)0x3FFF)
#define SMCR_SMS_Mask ((u16)0xFFF8)
#define SMCR_ETR_Mask ((u16)0x00FF)
#define SMCR_TS_Mask ((u16)0xFF8F)
#define SMCR_MSM_Reset ((u16)0xFF7F)
#define SMCR_ECE_Set ((u16)0x4000)
#define CCMR_CC13S_Mask ((u16)0xFFFC)
#define CCMR_CC24S_Mask ((u16)0xFCFF)
#define CCMR_TI13Direct_Set ((u16)0x0001)
#define CCMR_TI24Direct_Set ((u16)0x0100)
#define CCMR_OC13FE_Reset ((u16)0xFFFB)
#define CCMR_OC24FE_Reset ((u16)0xFBFF)
#define CCMR_OC13PE_Reset ((u16)0xFFF7)
#define CCMR_OC24PE_Reset ((u16)0xF7FF)
#define CCMR_OC13M_Mask ((u16)0xFF8F)
#define CCMR_OC24M_Mask ((u16)0x8FFF)
#define CCMR_OC13CE_Reset ((u16)0xFF7F)
#define CCMR_OC24CE_Reset ((u16)0x7FFF)
#define CCMR_IC13PSC_Mask ((u16)0xFFF3)
#define CCMR_IC24PSC_Mask ((u16)0xF3FF)
#define CCMR_IC13F_Mask ((u16)0xFF0F)
#define CCMR_IC24F_Mask ((u16)0x0FFF)
#define CCMR_Offset ((u16)0x0018)
#define CCER_CCE_Set ((u16)0x0001)
#define CCER_CCNE_Set ((u16)0x0004)
#define CCER_CC1P_Reset ((u16)0xFFFD)
#define CCER_CC2P_Reset ((u16)0xFFDF)
#define CCER_CC3P_Reset ((u16)0xFDFF)
#define CCER_CC4P_Reset ((u16)0xDFFF)
#define CCER_CC1NP_Reset ((u16)0xFFF7)
#define CCER_CC2NP_Reset ((u16)0xFF7F)
#define CCER_CC3NP_Reset ((u16)0xF7FF)
#define CCER_CC1E_Set ((u16)0x0001)
#define CCER_CC1E_Reset ((u16)0xFFFE)
#define CCER_CC1NE_Reset ((u16)0xFFFB)
#define CCER_CC2E_Set ((u16)0x0010)
#define CCER_CC2E_Reset ((u16)0xFFEF)
#define CCER_CC2NE_Reset ((u16)0xFFBF)
#define CCER_CC3E_Set ((u16)0x0100)
#define CCER_CC3E_Reset ((u16)0xFEFF)
#define CCER_CC3NE_Reset ((u16)0xFBFF)
#define CCER_CC4E_Set ((u16)0x1000)
#define CCER_CC4E_Reset ((u16)0xEFFF)
#define BDTR_MOE_Set ((u16)0x8000)
#define BDTR_MOE_Reset ((u16)0x7FFF)
/* 自用宏 -------------------------------------------------------------*/
/* 自用变量 ---------------------------------------------------------*/
/* 自用函数原型 -----------------------------------------------*/
static void TI1_Config(TIM_TypeDef* TIMx, u16 TIM_ICPolarity, u16 TIM_ICSelection,
u16 TIM_ICFilter);
static void TI2_Config(TIM_TypeDef* TIMx, u16 TIM_ICPolarity, u16 TIM_ICSelection,
u16 TIM_ICFilter);
static void TI3_Config(TIM_TypeDef* TIMx, u16 TIM_ICPolarity, u16 TIM_ICSelection,
u16 TIM_ICFilter);
static void TI4_Config(TIM_TypeDef* TIMx, u16 TIM_ICPolarity, u16 TIM_ICSelection,
u16 TIM_ICFilter);
/* 自用函数 ---------------------------------------------------------*/
/*******************************************************************************
* 函数名称: TIM_DeInit
* 功能描述: 重置TIMx外设寄存器为其默认复位值.
* 输入参数: TIMx:此处x可以是1到8以选择外设.
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void TIM_DeInit(TIM_TypeDef* TIMx)
{
/* Check the parameters [检查参数]*/
assert_param(IS_TIM_ALL_PERIPH(TIMx));
switch (*(u32*)&TIMx)
{
case TIM1_BASE:
RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, ENABLE);
RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, DISABLE);
break;
case TIM2_BASE:
RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, ENABLE);
RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, DISABLE);
break;
case TIM3_BASE:
RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, ENABLE);
RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, DISABLE);
break;
case TIM4_BASE:
RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, ENABLE);
RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, DISABLE);
break;
case TIM5_BASE:
RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM5, ENABLE);
RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM5, DISABLE);
break;
case TIM6_BASE:
RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM6, ENABLE);
RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM6, DISABLE);
break;
case TIM7_BASE:
RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM7, ENABLE);
RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM7, DISABLE);
break;
case TIM8_BASE:
RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM8, ENABLE);
RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM8, DISABLE);
break;
default:
break;
}
}
/*******************************************************************************
* 函数名称: TIM_TimeBaseInit
* 功能描述: 根据TIM_TimeBaseInitStruct中的特定参数初始化某个TIM的时间基单元.
* 输入参数: (1)TIMx:此处x可以是1,2,3,4,5或8以选择外设.
* (2)TIM_BaseInitStruct:指向一个包含TIM时间基配置信息的TIM_BaseInitTypeDef结构的指针..
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)
{
/* Check the parameters [检查参数]*/
assert_param(IS_TIM_123458_PERIPH(TIMx));
assert_param(IS_TIM_COUNTER_MODE(TIM_TimeBaseInitStruct->TIM_Counte
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
stm32_MODBUS2_code.zip (85个子文件)
stm32_MODBUS2_code
library
inc
stm32f10x_adc.h 18KB
stm32f10x_tim.h 46KB
stm32f10x_usart.h 14KB
stm32f10x_dac.h 9KB
stm32f10x_bkp.h 7KB
stm32f10x_dbgmcu.h 3KB
stm32f10x_pwr.h 4KB
stm32f10x_map.h 28KB
stm32f10x_sdio.h 18KB
stm32f10x_wwdg.h 3KB
stm32f10x_rtc.h 4KB
stm32f10x_gpio.h 14KB
stm32f10x_flash.h 14KB
stm32f10x_dma.h 18KB
cortexm3_macro.h 2KB
stm32f10x_rcc.h 14KB
stm32f10x_systick.h 3KB
stm32f10x_iwdg.h 3KB
stm32f10x_fsmc.h 19KB
stm32f10x_lib.h 3KB
stm32f10x_exti.h 6KB
stm32f10x_spi.h 13KB
stm32f10x_crc.h 2KB
stm32f10x_nvic.h 19KB
stm32f10x_i2c.h 15KB
stm32f10x_can.h 12KB
stm32f10x_type.h 3KB
src
stm32f10x_sdio.c 43KB
stm32f10x_adc.c 54KB
stm32f10x_bkp.c 9KB
stm32f10x_usart.c 39KB
stm32f10x_pwr.c 10KB
stm32f10x_flash.c 31KB
stm32f10x_lib.c 9KB
stm32f10x_nvic.c 24KB
stm32f10x_dbgmcu.c 5KB
stm32f10x_wwdg.c 6KB
stm32f10x_gpio.c 20KB
stm32f10x_crc.c 4KB
stm32f10x_rtc.c 10KB
stm32f10x_dac.c 19KB
stm32f10x_spi.c 32KB
stm32f10x_can.c 31KB
stm32f10x_systick.c 6KB
stm32f10x_iwdg.c 5KB
stm32f10x_dma.c 30KB
stm32f10x_tim.c 116KB
stm32f10x_i2c.c 42KB
stm32f10x_rcc.c 39KB
stm32f10x_exti.c 7KB
stm32f10x_fsmc.c 43KB
project
stm32f10x_it.c 31KB
main.c 9KB
modbus.c 10KB
settings
MODBUS.wsdt 3KB
modbus.dni 606B
modbus.dbgdt 7KB
modbus.cspy.bat 2KB
MODBUS.eww 160B
lnkarm_flash.xcl 8KB
lnkarm_ram.xcl 8KB
modbus.ewd 31KB
Debug
Obj
stm32f10x_gpio.r79 13KB
modbus.r79 12KB
stm32f10x_flash.r79 2KB
modbus.pbd 763B
stm32f10x_it.r79 21KB
main.r79 13KB
stm32f10x_lib.r79 1KB
stm32f10x_rcc.r79 17KB
stm32f10x_vector.r79 8KB
stm32f10x_tim.r79 48KB
cortexm3_macro.r79 2KB
stm32f10x_usart.r79 18KB
stm32f10x_nvic.r79 15KB
List
modbus.map 57KB
Exe
modbus.d79 93KB
modbus.sim 4KB
modbus.dep 10KB
stm32f10x_conf.h 6KB
modbus.h 859B
stm32f10x_it.h 4KB
modbus.ewp 44KB
stm32f10x_vector.c 6KB
cortexm3_macro.s 10KB
共 85 条
- 1
资源评论
sasa1705
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功