- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32 GPIO使用
操作步骤:
使能GPIO对应的外设时钟
例如://使能GPIOA、GPIOB、GPIOC对应的外设时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB|
RCC_APB2Periph_GPIOC , ENABLE);
声明一个GPIO_InitStructure结构体
GPIO_InitTypeDef GPIO_InitStructure;
选择待设置的GPIO管脚
例如:/* 选择待设置的GPIO第7、8、9管脚位 ,中间加“|”符号 */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
4. 设置选中GPIO管脚的速率
例如:/* 设置选中GPIO管脚的速率为最高速率2MHz */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; //最高速率2MHz
5. 设置选中GPIO管脚的模式
例如:/* 设置选中GPIO管脚的模式为开漏输出模式*/
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; //开漏输出模式
6. 根据GPIO_InitStructure中指定的参数初始化外设GPIOX
例如:/* 根据GPIO_InitStructure中指定的参数初始化外设GPIOC */
GPIO_Init(GPIOC, GPIO_InitStructure);
7.其他应用
例: 将端口GPIOA的第10、15脚置1(高电平)
GPIO_SetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);
例:将端口GPIOA的第10、15脚置0(低电平)
GPIO_ResetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);
GPIO寄存器:
寄存器 描述
CRL 端口配置低寄存器
CRH 端口配置高寄存器
IDR 端口输入数据寄存器
ODR 端口输出数据寄存器
BSRR 端口位设置/复位寄存器
BRR 端口位复位寄存器
LCKR 端口配置锁定寄存器
EVCR 事件控制寄存器
MAPR 复用重映射和调试
I/O 配置寄存器
EXTICR 外部中断线路0-15配置寄存器
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_DeInit
功能描述:将外设GPIOx寄存器重设为缺省值
例:
GPIO_DeInit(GPIOA);
?
函数GPIO_AFIODeInit
功能描述:将复用功能(重映射事件控制和EXTI设置)重设为缺省值
例:
GPIO_AFIODeInit();
?
函数GPIO_Init
功能描述:根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器
例:
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_
文档评论(0)