标签:ini afio 入参 单片机 data reset 总线 选择 因此
简介:
??通用输入输出接口GPIO是嵌入式系统、单片机开发过程中最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以用作串口的数据收发管脚,或者AD的接口等复用功能使用。因此其作用和功能非常重要。
GPIO的工作模式:四种输入、四种输出
函数名 | 描述 |
---|---|
GPIO_DeInit | 将外设 GPIOx 寄存器重设为缺省值 |
GPIO_AFIODeInit | 将复用功能(重映射事件控制和 EXTI 设置)重设为缺省值 |
GPIO_Init | 根据 GPIO_InitStruct 中指定的参数初始化外设 GPIOx 寄存器 |
GPIO_StructInit | 把 GPIO_InitStruct 中的每一个参数按缺省值填入 |
GPIO_ReadInputDataBit | 读取指定端口管脚的输入 |
GPIO_ReadInputData | 读取指定的 GPIO 端口输入 |
GPIO_ReadOutputDataBit | 读取指定端口管脚的输出 |
GPIO_ReadOutputData | 读取指定的 GPIO 端口输出 |
GPIO_SetBits | 设置指定的数据端口位 |
GPIO_ResetBits | 清除指定的数据端口位 |
GPIO_WriteBit | 设置或者清除指定的数据端口位 |
GPIO_Write | 向指定 GPIO 数据端口写入数据 |
GPIO_PinLockConfig | 锁定 GPIO 管脚设置寄存器 |
GPIO_EventOutputConfig | 选择 GPIO 管脚用作事件输出 |
GPIO_EventOutputCmd | 使能或者失能事件输出 |
GPIO_PinRemapConfig | 改变指定管脚的映射 |
GPIO_EXTILineConfig | 选择 GPIO 管脚用作外部中断线路 |
函数名 | GPIO_Init |
函数原形 | void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) |
功能描述 | 根据 GPIO_InitStruct 中指定的参数初始化外设 GPIOx 寄存器 |
输入参数 1 | GPIOx: x 可以是 A, B, C, D 或者 E,来选择 GPIO 外设 |
输入参数 2 | GPIO_InitStruct:指向结构 GPIO_InitTypeDef 的指针,包含了外设 GPIO 的配置信息参阅 Section:GPIO_InitTypeDef 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
GPIO_InitTypeDef structure
GPIO_InitTypeDef 定义于文件“stm32f10x_gpio.h”:
typedef struct
{
u16 GPIO_Pin;
GPIOSpeed_TypeDef GPIO_Speed;
GPIOMode_TypeDef GPIO_Mode;
} GPIO_InitTypeDef;
GPIO_Pin
GPIO_Speed 用以设置选中管脚的速率。
GPIO_Speed | 描述 |
---|---|
GPIO_Speed_10MHz | 最高输出速率 10MHz |
GPIO_Speed_2MHz | 最高输出速率 2MHz |
GPIO_Speed_50MHz | 最高输出速率 50MHz |
GPIO_Speed | 描述 |
---|---|
GPIO_Mode_AIN | 模拟输入 |
GPIO_Mode_IN_FLOATING | 浮空输入 |
GPIO_Mode_IPD | 下拉输入 |
GPIO_Mode_IPU | 上拉输入 |
GPIO_Mode_Out_OD | 开漏输出 |
GPIO_Mode_Out_PP | 推挽输出 |
GPIO_Mode_AF_OD | 复用开漏输出 |
GPIO_Mode_AF_PP | 复用推挽输出 |
函数名 | GPIO_SetBits |
函数原形 | void GPIO_SetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin) |
功能描述 | 设置指定的数据端口位 |
输入参数 1 | GPIOx: x 可以是 A, B, C, D 或者 E,来选择 GPIO 外设 |
输入参数 2 | GPIO_Pin:待设置的端口位该参数可以取 GPIO_Pin_x(x 可以是 0-15)的任意组合参阅 Section: GPIO_Pin 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
/* Set the GPIOA port pin 10 and pin 15 */
GPIO_SetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);
函数名 | GPIO_ResetBits |
函数原形 | void GPIO_ResetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin) |
功能描述 | 清除指定的数据端口位 |
输入参数 1 | GPIOx: x 可以是 A, B, C, D 或者 E,来选择 GPIO 外设 |
输入参数 2 | GPIO_Pin:待清除的端口位该参数可以取 GPIO_Pin_x(x 可以是 0-15)的任意组合参阅 Section: GPIO_Pin 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
/* Clears the GPIOA port pin 10 and pin 15 */
GPIO_ResetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);
初始化GPIO结构体:
/* Configure all the GPIOA in Input Floating mode */
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);
标签:ini afio 入参 单片机 data reset 总线 选择 因此
原文地址:https://www.cnblogs.com/wyd-blogs/p/12502712.html