一、使用标准库点亮LED——采用中断模式编程
(一)点亮LED灯
要求:用stm32F103核心板的GPIOA端一管脚接-个LED, GPIOB端口一引|脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。
代码如下:
main.c
#include "stm32f10x.h"
#include "usart.h"//串口通信的头文件
//#include "led.h"
#include "exti_key.h"
void delay(uint16_t time)
{
uint16_t i =0;
while(time--){
i=12000;
while(i--);
}
}
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//打开时钟
//固定模式配置
GPIO_InitTypeDef Led_init;
Led_init.GPIO_Mode = GPIO_Mode_Out_PP;
Led_init.GPIO_Pin = GPIO_Pin_5;
Led_init.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &Led_init);
GPIO_ResetBits(GPIOB,GPIO_Pin_5);//点亮LED灯
//中断函数
EXTI_Key_Init();
usart_init();
while(1)
{
usartSendStr(USART1,"Hello word\r\n");
delay(1000);
}
}