STM32F4之GPIO初始化

GPIO的功能可分为输入输出。本文简介了GPIO输入、输出,展示了GPIO初始化步骤及示例代码(1、使能时钟;2、引脚初始化配置;3、引脚状态初始化),浅谈了引脚速度。

GPIO功能可分为输入输出

GPIO输入、输出详细
功能名称简述
输入

上拉输入 (GPIO_Mode_IN_UP)

默认转态下(引脚无输入时),读得的数据为1,高电平
输入下拉输入(GPIO_Mode_IN_DOWN) 与上拉输入相反,默认为0,低电平
输入浮空输入(GPIO_Mode_IN_NOPULL)输入不确定,无上拉和下拉,输入阻抗较大,一般用于标准通信协议和 I2C、USART的接收端
输入模拟输入模式(GPIO_Mode_AN)一般在使用ADC采集电压信号时,设置为模拟输入
输出普通推挽输出(GPIO_Mode_OUT_PP)输出电平为3.3V
输出普通开漏输出(GPIO_Mode_OUT_OD)若要输出5V,则需外加上拉电阻,电源为5V。输出为高阻态时,由上拉电阻和电源向外输出5V的高电平
输出复用推挽输出(GPIO_Mode_AF_PP)  引脚复用功能采用复用模式
输出复用开漏输出(GPIO_Mode_AF_OD)复用模式,且加上拉电阻

初始化步骤及示例

//1、时钟使能
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);

//2、初始化配置
GPIO_InitTypeDef  GPIO_InitStructure;
/*-------------------GPIOC--------------------*/
/*--PC10 推挽输出;PC11 推挽输出--*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;		//GPIO端口模式设置 普通输出模式
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;		//普通推挽输出,输出电平为3.3V
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;	//引脚的速度
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;		//上拉
GPIO_Init(GPIOC, &GPIO_InitStructure);

//3、引脚状态初始化
GPIO_WriteBit(GPIOC, GPIO_Pin_10, Bit_SET);  //置高
GPIO_WriteBit(GPIOC, GPIO_Pin_11, Bit_RESET);//置低

输入引脚配置之引脚速度:

        GPIO 引脚速度,又称输出驱动电路的响应速度:(芯片内部在I/O口的输出部分安排了多个响应速度不同的输出驱动电路,用户可以根据自己的需要选择合适的驱动电路,通过选择速度来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的。)

GPIO口设为输入时,输出驱动电路与端口是断开,所以输出速度配置无意义。

        

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃~鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值