stm32f103c8t6定时一分钟代码
时间: 2023-07-02 20:16:07 浏览: 590
下面是一个基于STM32F103C8T6的TIM3定时器一分钟计时的代码:
```c
#include "stm32f10x.h"
int main(void)
{
// 初始化系统时钟
SystemInit();
// 使能TIM3时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
// 初始化TIM3
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;
TIM_TimeBaseInitStruct.TIM_ClockDivision = 0;
TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInitStruct.TIM_Period = 60000 - 1; //计时1分钟
TIM_TimeBaseInitStruct.TIM_Prescaler = 7200 - 1; //时钟频率为72MHz,分频7200,得到10kHz的计数频率
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseInitStruct);
// 使能TIM3更新事件中断
TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);
// 使能TIM3
TIM_Cmd(TIM3, ENABLE);
// 进入循环
while (1)
{
// do something
}
}
// TIM3中断服务函数
void TIM3_IRQHandler(void)
{
if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)
{
// 清除中断标志位
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
// 在这里执行每分钟需要执行的操作
}
}
```
在这个代码中,我们使用TIM3定时器来计时1分钟。我们设置计数器的时钟频率为10kHz(即每秒计数10,000次),计时器的周期为60,000(即计数器从0计数到59,999,即1分钟),计数器每计数完一次就会产生一次中断,并执行中断服务函数中的代码。在中断服务函数中,我们可以执行每分钟需要执行的操作。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)