- UID
- 864567
|
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 关掉,以使得实验效果更明显。 |
|