stm32定时器频率如何配置为2000hz/1000hz/150hz

本文介绍了如何通过配置STM32定时器的周期、预分频器和时钟分频来实现2000Hz、1000Hz和150Hz的频率。具体步骤包括设置TIM_TimeBaseStructure结构体的参数,如TIM_Period、TIM_Prescaler和TIM_CounterMode,并通过TIM_TimeBaseInit和TIM_OCInit进行初始化。示例代码展示了在48MHz系统时钟下,如何通过调整周期和预分频器值来改变定时器频率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    TIM_TimeBaseStructure.TIM_Period = 500-1 ; //设置500us一次TIM2比较的周期
    TIM_TimeBaseStructure.TIM_Prescaler = 48 - 1;//48Mhz / 48 = 1Mhz = 1us
    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
    TIM_TimeBaseInit( TIM2, & TIM_TimeBaseStructure );

    TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;//下面详细说明
    TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//TIM_OutputState_Disable;
    TIM_OCInitStructure.TIM_Pulse = 250;
    TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;//如果是PWM1要为Low,PWM2则为High
    TIM_OC2Init( TIM2, & TIM_OCInitStructure );

   上面的程序实现了在系统时钟为48Mhz、周期为500、分频因子为48、且时钟1分频(就是不分频)时,定时器的频率为2000hz(时钟啥的自己配置)  Period的范围为0~65535,Prescaler的范围为0~65535

   f = (system clock/prescaler)/Period

     =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值