9820

本文详细介绍了GPIO的基本配置选项,包括睡眠模式下的不同配置、驱动能力设置、功能选择等,并提供了具体的输入输出模式设置示例,如模拟输入、浮空输入、上拉输入、下拉输入、推挽输出及开漏输出等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GPIO 操作详解

  (2016-03-02 11:12:20)
标签: 

android

 

linux

 

驱动

分类: 学习
对GPIO的相关操作总结如下:
BIT_PIN_SLP_WPU 睡眠模式下的弱上拉
BIT_PIN_SLP_WPD 睡眠模式下的弱上拉
BIT_PIN_SLP_NUL 睡眠模式下的无上下拉

BIT_PIN_DS(x)配置pin脚的驱动能力(0-3)
BIT_PIN_AF(x)配置pin的四个功能

BIT_PIN_SLP_IE 睡眠模式下的输入
BIT_PIN_SLP_OE 睡眠模式下的输出
BIT_PIN_SLP_Z 睡眠模式下的高阻

BIT_PIN_WPU 正常模式下的弱上拉
BIT_PIN_WPU 正常模式下的弱下拉
BIT_PIN_WPU 正常模式下的无上下拉

GPIO的输入输入模式
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的IO最大输出速度
2MHZ 10MHZ 50MHZ

{REG_PIN_TRACEDAT3,          BIT_PIN_SLP_AP|BIT_PIN_NULL|BITS_PIN_DS(1)|BITS_PIN_AF(3)|BIT_PIN_WPU|BIT_PIN_SLP_WPD|BIT_PIN_SLP_IE},//DTV_IRQ_GPIO235

GPIO操作实例
int main(void)
 {
    GPIO_InitTypeDef GPIO_InitStructure;
    delay_init();
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE,ENABLE);//使能PB PE端口时钟
    
    
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;//LED0->PB.5端口配置
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO口速度为50MHz
    GPIO_Init(GPIOB,&GPIO_InitStructure);
    GPIO_SetBits(GPIOB,GPIO_Pin_5);//GPIOB.5输出高
    GPIO_ResetBits(GPIOE,GPIO_Pin_5);//GPIOE.5输出低
    delay_ms(500);
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值