GPIO输出控制

本文详细介绍了IO输入模式,包括模拟、浮空、下拉和上拉等类型,并探讨了开漏和推挽输出的区别。同时,通过实例展示了如何使用STM32的HAL库设置GPIOC13引脚为输出,控制LED的点亮和熄灭。
摘要由CSDN通过智能技术生成

IO输入模式

1、模拟输入:顾名思义,即为输入模拟信号ADC
2、浮空输入:I/O口的状态是不确定的,完全由外部输入决定外部KEY有上下拉
3、下拉输入:在没有信号输入的时候默认输入低电平外部KEY接VCC
4、上拉输入:在没有信号输入的时候默认输入高电平外部KEY接GND

IO输出模式
5、开漏输出:I0输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,10口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样I0口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现IO双向功能,模拟I2C
- 6、推挽输出:I0输出0-接GND,I0输出1-接VCC,读输入值是未知的
7、复用功能的推挽输出AFPP片内外设功能(I2C的SCL,SDA)
8、复用功能的开漏输出_AF_OD一一片内外设功能(MOSI,MISO.SCK.SS)

设置GPIOC13端口为输出,LED高电平是为灭。

生产工程文件,gpio.c文件就多出配置GPIO引脚输出电平

  HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);

  /*Configure GPIO pin : PC13 */
  GPIO_InitStruct.Pin = GPIO_PIN_13;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);

然后跳转函数,查看函数的使用方法。

最后在主函数调用使用,LED闪烁

        HAL_Delay(1000);
		HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); // LED 灭 1
		HAL_Delay(1000);
		HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET); // LED  亮 0

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值