1.STM32 GPIO介绍
1.1GPIO概念
1.2GPIO结构框图
1.3GPIO工作模式
2.硬件设计
3.软件设计
3.1.使用寄存器点亮LED
3.2.使用库函数点亮LED
4.实验现象
目录
1.STM32 GPIO介绍
1.1 GPIO概念
GPIO引脚分类
电源引脚
晶振引脚
复位引脚
下载引脚
BOOT引脚
GPIO引脚
1.2GPIO结构框图
1.3GPIO工作模式
输入模式
输入浮空
输入上拉
输入下拉
模拟输入
输出模式
开漏输出
开漏复用功能
推挽式输出
推挽式复用功能
2.硬件设计
3.软件设计
3.1.使用寄存器点亮LED
#include "stm32f10x.h"
typedef unsigned int u32;
void SystemInit(void)
{
}
void delay(u32 i)
{
while(i--);
}
int main()
{
RCC_APB2ENR |= 1<<3;
GPIOB_CRL &= ~( 0x0F<< (4*5));
GPIOB_CRL |= (3<<4*5);
GPIOB_BSRR=(1<<(16+5));
while(1)
{
GPIOB_BSRR=(1<<(16+5));
delay(0xFFFFF);
GPIOB_BSRR=(1<<(5));
delay(0xFFFFF);
}
}
3.2.使用库函数点亮LED
#include "stm32f10x.h"
#include "led.h"
void delay(u32 i)
{
while(i--);
}
int main()
{
LED_Init();
while(1)
{
GPIO_ResetBits(LED1_PORT,LED1_PIN);
delay(100000);
GPIO_SetBits(LED1_PORT,LED1_PIN);
delay(100000);
}
}
4.实验现象
LED不断闪烁