野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1430|回复: 1

STM32F103VET6--定时器问题

[复制链接]
发表于 2023-5-15 23:22:00 | 显示全部楼层 |阅读模式
  1. void Timer_Init(void)
  2. {
  3.         //配置RCC,开启时钟
  4.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
  5.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
  6.         // 配置GPIO
  7.         GPIO_InitTypeDef GPIO_InitStructure;
  8.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  9.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
  10.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  11.         GPIO_Init(GPIOB, &GPIO_InitStructure);
  12.         //配置TIM
  13.         TIM_InternalClockConfig(TIM2);
  14.        
  15.         TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
  16.         TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
  17.         TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
  18.         TIM_TimeBaseStructure.TIM_Period = 1000 - 1;
  19.         TIM_TimeBaseStructure.TIM_Prescaler = 7200 - 1;
  20.         TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;
  21.         TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
  22.        
  23.         TIM_ClearFlag(TIM2, TIM_FLAG_Update);
  24.        
  25.         TIM_ITConfig(TIM2,TIM_IT_Update, ENABLE);
  26.        
  27.         //配置NVIC
  28.         // 选择中断分组
  29.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  30.         NVIC_InitTypeDef NVIC_InitStructure;
  31.        
  32.         NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;//选择TIM2的中断通道
  33.         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  34.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
  35.         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  36.         NVIC_Init(&NVIC_InitStructure);
  37.         //启动定时器
  38.         TIM_Cmd(TIM2, ENABLE);
  39. }

  40. // 中断函数代码
  41. void TIM2_IRQHandler(void)
  42. {
  43.         if(TIM_GetITStatus(TIM2, TIM_IT_Update) == SET)
  44.         {
  45.                 LED_TOOGLE;
  46.         }
  47.         TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
  48.        
  49. }
复制代码


回复

使用道具 举报

 楼主| 发表于 2023-5-15 23:24:21 | 显示全部楼层
更新一下 TIM_TimeBaseStructure.TIM_Period = 100000 - 1;
调试的时候忘改回去了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-29 12:58 , Processed in 0.036953 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表