网站制作售后,新郑郑州网站建设,网络平台推广案例,棋牌网站建设要多少钱TIM#xff08;Timer#xff09;定时器
定时器可以对输入的时钟进行计数#xff0c;并在计数值达到设定值时触发中断
16位计数器、预分频器、自动重装寄存器的时基单元#xff0c;在72MHz计数时钟下可以实现最大59.65s的定时
不仅具备基本的定时中断功能#xff0c;而且…TIMTimer定时器
定时器可以对输入的时钟进行计数并在计数值达到设定值时触发中断
16位计数器、预分频器、自动重装寄存器的时基单元在72MHz计数时钟下可以实现最大59.65s的定时
不仅具备基本的定时中断功能而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能。
根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型
定时器类型 高级、通用、基本定时器 定时器初始化函数
#include stm32f10x.h // Device header
//初始化定时器
void Timer_Init(void)
{RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);//开启时钟TIM_InternalClockConfig(TIM2);//选择内部时钟默认内部时钟可以不写TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;//初始化时机单元TIM_TimeBaseInitStructure.TIM_ClockDivision TIM_CKD_DIV1;//一分频 TIM_TimeBaseInitStructure.TIM_CounterMode TIM_CounterMode_Up;//向上计数有三种TIM_TimeBaseInitStructure.TIM_Period 10000 - 1;//TIM_TimeBaseInitStructure.TIM_Prescaler 7200 - 1;TIM_TimeBaseInitStructure.TIM_RepetitionCounter 0;TIM_TimeBaseInit(TIM2, TIM_TimeBaseInitStructure);TIM_ClearFlag(TIM2, TIM_FLAG_Update);TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);//开启更新中断NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVIC_InitTypeDef NVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannel TIM2_IRQn;//中断通道NVIC_InitStructure.NVIC_IRQChannelCmd ENABLE;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority 2;//中断抢占级NVIC_InitStructure.NVIC_IRQChannelSubPriority 1;//中断优先级NVIC_Init(NVIC_InitStructure);TIM_Cmd(TIM2, ENABLE);
}//void TIM2_IRQHandler(void)
//{
// if (TIM_GetITStatus(TIM2, TIM_IT_Update) SET)//中断标志位
// {
//
// TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
// }
//}
主函数
#include stm32f10x.h // Device header
#include Delay.h
#include OLED.h
#include Timer.huint16_t Num;int main(void)
{OLED_Init();Timer_Init();OLED_ShowString(1, 1, Num:);while (1){OLED_ShowNum(1, 5, Num, 5);}
}void TIM2_IRQHandler(void)
{if (TIM_GetITStatus(TIM2, TIM_IT_Update) SET){Num ;TIM_ClearITPendingBit(TIM2, TIM_IT_Update);}
}
输出比较功能智能车、机器人等
OCOutput Compare输出比较 输出比较可以通过比较CNT与CCR寄存器值的关系来对输出电平进行置1、置0或翻转的操作用于输出一定频率和占空比的PWM波形 每个高级定时器和通用定时器都拥有4个输出比较通道 高级定时器的前3个通道额外拥有死区生成和互补输出的功能 直流电机是一种将电能转换为机械能的装置有两个电极当电极正接时电机正转当电极反接时电机反转 直流电机属于大功率器件GPIO口无法直接驱动需要配合电机驱动电路来操作 TB6612是一款双路H桥型的直流电机驱动芯片可以驱动两个直流电机并且控制其转速和方向