STM32单片机中TogglePin和WritePin的区别及使用方法

目录

1.区别 

2.使用方法

3. HAL_GPIO_TogglePin函数

4.HAL_GPIO_WritePin函数


        在STM32单片机中,WritePin用于将引脚设置为特定电平,而TogglePin用于切换引脚的电平。

1.区别 

        TogglePin是切换引脚电平状态,即引脚电平状态在高电平和低电平之间切换;

        WritePin是设置引脚电平状态,即根据输入参数设置引脚为高电平或低电平。

2.使用方法

        TogglePin在需要改变引脚电平状态时使用,例如LED灯闪烁;

        WritePin在需要明确设置引脚为高电平或低电平时使用,例如设置某个引脚为输入或输出模式。

3. HAL_GPIO_TogglePin函数

        在STM32的HAL库中,存在HAL_GPIO_TogglePin函数,它用于切换GPIO引脚的电平。(GPIO_ToggleBits是针对STM32的标准库)。使用HAL_GPIO_TogglePin函数切换引脚9的电平,可以使用以下代码:

HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);
在这里,GPIOC表示GPIO端口C,GPIO_PIN_9表示端口C上的第9个引脚。

4.HAL_GPIO_WritePin函数

        在STM32的HAL库中,还存在HAL_GPIO_WritePin函数,它用于设置GPIO引脚的电平。(GPIO_WriteBits是针对STM32的标准库)。使用HAL_GPIO_WritePin函数设置引脚9的电平为HIGH,您可以使用以下代码:

HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_SET);
在这里,GPIOC表示GPIO端口C,GPIO_PIN_9表示端口C上的第9个引脚,GPIO_PIN_SET表示设置引脚电平为HIGH。

《零基础学习STM32单片机开发的入门指南》是一本适合初学者学习STM32开发的实用教程。它详细介绍了如何利用STM32的硬件抽象层(HAL)库来操作GPIO端口。HAL库提供了一系列简洁的API函数,简化了对STM32硬件的控制,使得开发者可以不必深入了解硬件细节即可进行编程。 参考资源链接:[零基础学习STM32单片机开发的入门指南](https://wenku.csdn.net/doc/7gm5vu5tc1?spm=1055.2569.3001.10343) 在STM32单片机中,GPIO端口用于控制各种外围设备,是学习STM32开发的基础。根据《零基础学习STM32单片机开发的入门指南》,进行GPIO操作的基本步骤如下: 1. 初始化GPIO端口:首先需要配置GPIO端口的模式速度。例如,如果要初始化一个GPIO端口为输出模式,可以使用`HAL_GPIO_Init()`函数,并传入一个GPIO_InitTypeDef类型的结构体,该结构体中定义了端口的模式、输出类型、速度等参数。 2. 控制GPIO状态:通过`HAL_GPIO_WritePin()`函数可以设置GPIO端口的电平状态,例如设置为高电平或低电平。同时,可以使用`HAL_GPIO_TogglePin()`函数来切换GPIO端口的电平状态。 3. 读取GPIO状态:使用`HAL_GPIO_ReadPin()`函数可以读取指定GPIO端口的电平状态。这对于需要根据外部输入做出响应的应用来说至关重要。 4. 处理中断:对于需要响应外部事件的应用,可以配置GPIO为中断模式,并在中断服务函数中处理相关逻辑。STM32的HAL库同样提供了方便的API,如`HAL_GPIO_EXTI_IRQHandler()`,用于处理外部中断事件。 通过以上步骤,你可以完成对STM32单片机GPIO端口的基本操作。当你熟练掌握了这些基础知识后,就能够进一步学习如何将STM32单片机集成到更复杂的物联网项目中,比如利用ADC读取传感器数据,或者通过通信接口与其他设备进行数据交换。 如果你希望扩展对STM32单片机开发的理解,除了《零基础学习STM32单片机开发的入门指南》,还应该深入学习STM32的参考手册数据手册,这些资料将为你提供更全面的技术细节,帮助你在嵌入式系统领域不断深化知识技能。 参考资源链接:[零基础学习STM32单片机开发的入门指南](https://wenku.csdn.net/doc/7gm5vu5tc1?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wenchm

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

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

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

打赏作者

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

抵扣说明:

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

余额充值