STM32GPIO以及按键
- mini版的stm32f10x有四组通用IO口:PA(0-15)、PB(0-15)、PC(0-15)、PD(0-2)
- 输入分为:输入浮空、输入上拉、输入下拉、模拟输入
- 输出分为:开漏输出、开楼复用输出、推挽式输出、推挽式复用输出
- 翻转速率分为:2MHz、10MHz、50MHz
在写程序的时候要结合原理图和中文参考手册,读原理图的时候看清楚引脚的编号。
初始化函数
在使用每一个GPIO之前都必须要进行初始化,最好要写进新的文件中,留出接口便于主函数调用。
- 初始化LED
#include "led2.h"//led.c文件
#include "stm32f10x.h"
void Init_LED(void)
{
GPIO_InitTypeDef str;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能GPIOA
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);//使能GPIOD
str.GPIO_Mode = GPIO_Mode_Out_PP;//设置输出模式
str.GPIO_Pin = GPIO_Pin_2;//设置引脚编号
str.GPIO_Speed = GPIO_Speed_50MHz;//设置翻转速度
GPIO_Init(GPIOD,&str);//初始化PD2引脚
GPIO_SetBits(GPIOD,GPIO_Pin_2);//将PD2引脚设置为高电平
str.GPIO_Mode = GPIO_Mode_Out_PP;
str.GPIO_Pin = GPIO_Pin_8;
str.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA