通用:查看函数方法
在某个.h文件中可以看到很多函数的声明:
可以跳到定义去具体查看函数的功能和参数使用说明
GPIO常用函数
配置结构体成员方法
常用函数介绍:
//RCC常用函数:
//功能:通过RCC使某个外设使能或失能。单词:Peripher(外设)、specifies(指定)
void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);
void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);
//参数
FunctionalState NewState : ENABLE(使能)、DISABLE(失能)
//GPIO常用函数:
void GPIO_DeInit(GPIOx);功能:复位指定外设
void GPIO_Init(GPIOx,GPIO_InitStruct);功能:用结构体参数来初始化GPIO口,参数(外设号,结构体名)
void GPIO_SetBits(GPIOx,GPIO_Pin); 功能:把指定外设的指定端口设置为高电平,参数(外设号,引脚号)
void GPIO_ResetBits(GPIOx,GPIO_Pin); 功能:把指定外设的指定端口设置为低电平
void GPIO_WriteBit(GPIOx,GPIO_Pin,BitVal);功能:根据第三个参数的值来设置指定的端口,参数BitVal:Bit_RESET(输出0)、Bit_SET(输出1)
void GPIO_Write(GPIOx,PortVal); 功能:可对某个指定外设的16个端口进行整体操作
//常用的配置代码过程
#include "stm32f10x.h" // Device header
#include "Delay.h"
int main(void)
{
//使用RCC开启GPIO时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//GPIOA挂载在APB2上,所以这里用APB2
//使用GPIO_Ini函数初始化GPIO、分别配置结构体的mode、pin、speed
GPIO_InitTypeDef GPIO_InitStructure; //命名结构体名称为GPIO_InitStructure,这个结构体实际上相当于局部变量,在某些编译器下,有时需要提到函数前面去
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //结构体成员,GPIO_Mode_Out_PP:推挽输出
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0; //结构体成员,GPIO_Pin_0:pin0引脚
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //结构体成员,GPIO_Speed_50MHz:速度为50MHz
GPIO_Init(GPIOA,&GPIO_InitStructure); //读取结构体参数并将其配置到GPIO寄存器
GPIO_Write(GPIOx, PortVal) 用法:
//GPIOd的常用获取电平函数:
uint8_t GPIO_ReadInputDataBit(GPIOx, GPIO_Pin);//读取指定GPIO管脚上的输入电平,返回值为指定管脚的电平状态(1或0)。
uint16_t GPIO_ReadInputData(GPIOx);//读取整个GPIO端口的输入电平,返回值为整个端口上每个引脚的状态。