首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

定时器与蜂鸣器(2)

定时器与蜂鸣器(2)

 STM32 二、STM32 通用定时器编程
  实际上,一开始笔者就提到,定时器编程,就是中断的编程。因为使用定时 器必定要使用到中断。 由于之前已经详细讲述过中断编程,因此本期部分代码的 解释会简略讲述,您可以参考芯达 STM32 入门系列配套教程《初试 STM32 中 断》。 步骤一 步骤二 系统配置 SystemInit();,包括时钟 RCC 的配置,倍频到 72MHZ。 GPIO 的配置,使用函数为 GPIO_Config();,该函数的实现如下:
  void GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO, ENABLE); /** * LED1 -> PB8 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 |GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOB, &GPIO_InitStructure); , LED2 -> PB9 , LED3 -> PE0 , LED4 -> PE1
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 |GPIO_Pin_1; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOE, &GPIO_InitStructure);
  /** * LED1-4-OFF */ GPIO_SetBits(GPIOB , GPIO_Pin_8); GPIO_SetBits(GPIOB , GPIO_Pin_9); GPIO_SetBits(GPIOE , GPIO_Pin_0); GPIO_SetBits(GPIOE , GPIO_Pin_1); } 实际上定时器的讲解, 不需要配置 GPIO 的引脚, 只是我们在定时器实验中, 使用用户 LED 灯来做实验,所以需要配置对应的用户指示灯 LED。最后一步需 要把 LED1-4 关掉,以使得实验效果更明显。
返回列表