目录
GPIO输出的函数
官方提供了6条关于GPIO输出的函数
配置GPIO为输出模式:
GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN0);
该函数用于将指定的引脚设置为输出模式。接受两个参数:端口号和引脚号。GPIO_PORT_P1表示端口P1,GPIO_PIN0表示引脚0。
设置GPIO为高低电平:
GPIO_setOutputHighOnPin(GPIO_PORT_P1,GPIO_PIN0);
GPIO_setOutputLowOnPin(GPIO_PORT_P1,GPIO_PIN0);
GPIO_toggleOutputOnPin(GPIO_PORT_P1,GPIO_PIN0);
前两个就是设置高低电平
而第三条函数:用于在引脚的输出状态之间进行切换。具体来说,它将当前引脚的输出状态从低电平切换到高电平,或者从高电平切换到低电平。
设置高低驱动强度:
GPIO_setDriveStrengthHigh(GPIO_PORT_P1,GPIO_PIN0);
GPIO_setDriveStrengthLow(GPIO_PORT_P1,GPIO_PIN0);
高驱动强度可以提高带载能力;只有以下几个引脚可设置
低驱动强度可以降低功耗、减少噪声干扰或延长电池寿命;
在没有设置高低驱动强度的情况下,IO为标准驱动强度;低<标准<高。
点灯:
原理图:
点灯代码:
int main(void)
{
uint32_t i;
for(i=0;i<50000;i++)
{
GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN0);
GPIO_setOutputHighOnPin(GPIO_PORT_P1,GPIO_PIN0);
}
for(i=0;i<50000;i++)
{
}
GPIO_toggleOutputOnPin(GPIO_PORT_P1,GPIO_PIN0);
GPIO_setDriveStrengthHigh
while (1)
{
/*开始填充用户代码*/
/*停止填充用户代码*/
}
}
GPIO输入:
浮空输入:GPIO_setAsInputPin(GPIO_PORT_P1, GPIO_PIN1);
上拉输入:GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1, GPIO_PIN1);
下拉输入;GPIO_setAsInputPinWithPullDownResistor
如果忘记这几个输入的,可以回顾这篇文章:第二讲:浅谈STM32的GPIO八个工作模式的用处_三马分享家的博客-CSDN博客
获取电平状态:GPIO_getinputPinValue
根据具体的实现方式,函数可能返回0或1,表示逻辑低电平和逻辑高电平,或者返回其他特定的值来表示不同的电平状态。
按键:
原理图:
按键按下之后是会被拉为低电平的,意味着咱们要将IO口配置为上拉输入
代码:
int main(void)
{
uint8_t key;
LED_Init();
KEY_Init();
while (1)
{
key = KEY_Scan(0);
if (key == KEY1_PRES)
LED_RED_On();
else if (key == KEY2_PRES)
LED_RED_Off();
}
}
声明:本次432学习是参考的b站up:m-Rna