STM32 通用T2、T3、T4、T5定时器详解
2024-08-24 20:00:09
定时器初始化配置
void TIM3_Configuration(void)//1MS
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_DeInit(TIM3);//开一下时钟再关闭
/* 设置TIM2CLK 为 72MHZ */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3 , ENABLE); /* 自动重装载寄存器周期的值(计数值) */
TIM_TimeBaseStructure.TIM_Period=-; /* 累计 TIM_Period个频率后产生一个更新或者中断 */
TIM_TimeBaseStructure.TIM_Prescaler= ;
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;/* 时钟预分频数为72 */
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); TIM_ClearFlag(TIM3, TIM_FLAG_Update);
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);
TIM_ARRPreloadConfig(TIM3, ENABLE);
TIM_Cmd(TIM3, ENABLE); }
NVIC配置
void TIM3_NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = ;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = ;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
正常情况下是先配置好定时器参数设置,再配置NVIC中断-》使能中断。
最新文章
- .Net 开源项目资源大全
- no result defined for action
- STM32环境搭建/学习观点/自学方法 入门必看
- Linux:Shell 常用通配符
- 中国天气网-天气预报接口api
- 查询使用NoLock
- 精妙SQL语句介绍
- 【设计模式 - 9】之装饰者模式(Decorator)
- 从Profile中窥探Unity的内存管理
- 自定义input file样式
- IIS 部署WCF服务注意事项
- MMORPG战斗系统随笔(三)、AI系统简介
- excel数据导出新妙招
- Linux - ubuntu vMwareTools安装
- requirement failed: Unacceptable value for property 'kafka.timeline.metrics.host_in_memory_aggregation', boolean values must be either 'true' or 'false
- python3 判断字符串是否为纯空格组成的方法
- 单元测试系列之八:Sonar 数据库表关系整理一(续)
- HBase数据压缩算法编码探索
- git 实现提交远程分支步骤
- ionic默认样式android和ios差异