首先:GPIO(或GPIO口)就是通用输入/输出端口,通俗地说,就是一些CPU的引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平;就是0:1输入和输出。 而其中常用就有: GPIO_WriteBit:这个字面意思就是指定引脚的设置和清除。 GPIO_SetBits:就是设置指定引脚的数据端口。 GPIO_ResetBits:清除指...
#define LED1_PORT GPIOE #define LED0_ON GPIO_ResetBits(LED0_PORT,LED0_PIN) //LED0对应引脚GPIOB.5拉低,亮 #define LED0_OFF GPIO_SetBits(LED0_PORT,LED0_PIN) //LED0对应引脚GPIOB.5拉高,灭 #define LED1_ON GPIO_ResetBits(LED1_PORT,LED1_PIN) //LED1对应引脚GPIOE.5拉低,亮 #defin...
GPIO_Pin_2);对应端口为高电平voidGPIO_ResetBits(GPIOA, GPIO_Pin_2);对应端口为低电平voidGPIO_...
* Open Source/Emitter is the combination of single-ended open source interface.*/#defineGPIO_OPEN_DRAIN (GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_DRAIN)#defineGPIO_OPEN_SOURCE (GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_SOURCE)/*Bit 3 express GPIO suspend/resume and reset persistence*/#defineGPIO_PERSISTE...
“sys.c”和“sys.h”中包含可能会用到、公共的功能,位带操作就包含在其中。控制LED小灯的方法库函数操作int main(void){ LED_GPIO_Config(); while(1){GPIO_ResetBits(LED_GPIO_PORT,LED_GPIO_PIN); Delay(0x5FFFFF);GPIO_SetBits(LED_GPIO_POR ...
HAL_GPIO_WritePin(LED4_GPIO_Port, LED4_Pin, GPIO_PIN_SET); 这行代码将 LED4_Pin 引脚的输出电平设置为高电平(GPIO_PIN_SET)。它使用了 HAL 库提供的 HAL_GPIO_WritePin 函数。 GPIO_InitStruct.Pin = LED4_Pin;GPIO_InitStruct.Mode = GPIO...
第一个函数 GPIO_SetBits(GPIOD,GPIO_Pin_2); 当该函数被程序执行的时候,会改变I/O对应寄存器的值,让I/O口PD2输出电压3v3,于是led就被点亮了. 第二个函数 GPIO_ResetBits(GPIOD,GPIO_Pin_2); 当该函数被程序执行的时候,就会把寄存器的逻辑电平改成0,那么I/O口PD2实际的输出电压就会变成0v了,于是LED也...
发光二极管是属于二极管的一种,具有二级管单向导电特性,即只有在正向电压(二极管的正极接正,负极接负)下才能导通发光。PB0引脚接发光二极管(LED1)的正极,所以PB0引脚输出高电平LED1亮,PB0引脚输出低电平LED1熄灭,,LED2,LED3同理。 值得注意的,不同的开发板,LED连接的GPIO一般是不同的,请注意修改。
要想控制LED亮灭,就需要做以上三件事:使能时钟,配置GPIO参数,最后循环控制GPIO的高低电平就能实现流水灯的效果,GPIO的寄存器这里就不说了,更多详细的寄存器描述看官方手册就行,下面先来看看GD32的时钟。 2 GD32的时钟系统 2.1 GD32的系统架构 GD32的系统架构比51单片机强大很多了。首先我们看看GD32的系统架构图:...
#define LED_ON GPIO_ResetBits(LED_GPIO_PORT,LED_GPIO_PIN) //声明LED配置函数 void LED_GPIO_Config(void); #endif /* __BSP_LED_H */ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ——— 我们首先来了解bsp_led.h部分代码: 1) #ifndef __BSP...