MSP432P401R 第一讲:点灯(GPIO输出)、按键(GPIO输入)

目录

GPIO输出的函数

配置GPIO为输出模式:

设置GPIO为高低电平:

设置高低驱动强度:

        点灯:

        点灯代码:

GPIO输入:

        按键:

        代码:


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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值