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