实验目的:使用基本定时器TIM6控制LED的亮灭。
void GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
void TIM6_Init(void)
{
TIM_TimeBaseInitTypeDef TIMBASE6;
TIM_DeInit(TIM6);
TIMBASE6.TIM_Period=10000-1; //设置计数溢出大小 10KHZ/10000=1HZ; ARR
TIMBASE6.TIM_Prescaler=800-1; //预分频系数 8M/800=10KHZ; PSC
TIMBASE6.TIM_ClockDivision = 0x00; //设置时钟分割 0x00 不分割
TIMBASE6.TIM_CounterMode=TIM_CounterMode_Up; //设置计数器模式为向上计数模式
TIM_TimeBaseInit(TIM6, &TIMBASE6); //初始化TIM6
TIM_ITConfig(TIM6, TIM_IT_Update, ENABLE); //将更新事件设置为中断源
TIM_Cmd(TIM6,ENABLE); //设置CEN位,使能TIM6
}
void RCC_Init(void)
{
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
while(RCC_WaitForHSEStartUp()==ERROR);
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div16);
RCC_PCLK1Config(RCC_HCLK_Div16);
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_8);
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET); //等待PLL工作
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource()!=0x08); //判断是否PLL是系统时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6,ENABLE);
}
void TIM6_INTERRUPT(void)
{
while(TIM_GetFlagStatus (TIM6,TIM_FLAG_Update )!=RESET)
{
TIM_ClearFlag (TIM6,TIM_FLAG_Update);
GPIO_WriteBit(GPIOC,GPIO_Pin_1, (BitAction) (1- GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_1))); //LED亮灭反转
}
}
int main(void)
{
GPIO_Config();
TIM6_Init();
RCC_Init();
while(1)
{
TIM6_INTERRUPT();
}
}
上一篇:STM32-AHB、APB1、APB2的使(失)能函数
下一篇:STM32——GPIO详细配置
推荐阅读最新更新时间:2024-03-16 15:41
设计资源 培训 开发板 精华推荐
- 首都医科大学王长明:针对癫痫的数字疗法已进入使用阶段
- 非常见问题解答第223期:如何在没有软启动方程的情况下测量和确定软启动时序?
- 兆易创新GD25/55全系列车规级SPI NOR Flash荣获ISO 26262 ASIL D功能安全认证证书
- 新型IsoVu™ 隔离电流探头:为电流测量带来全新维度
- 英飞凌推出简化电机控制开发的ModusToolbox™电机套件
- 意法半导体IO-Link执行器电路板为工业监控和设备厂商带来一站式参考设计
- Melexis采用无磁芯技术缩小电流感测装置尺寸
- 千丘智能侍淳博:用数字疗法,点亮“孤独症”儿童的光
- 数药智能冯尚:ADHD数字疗法正为儿童“多动症”提供更有效便捷服务
- Vicor高性能电源模块助力低空航空电子设备和 EVTOL的发展