9820

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);
 }

猜你喜欢

转载自blog.csdn.net/skyxiaojt/article/details/79918558
920
982
今日推荐