#define _LED0_ GPIO_WriteBit(GPIOB, GPIO_Pin_5, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_5)))// PB5 #define _LED1_ GPIO_WriteBit(GPIOE, GPIO_Pin_5, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOE, GPIO_Pin_5)))// PE5 void LED_Init(void);//初始化 #endif led...
在使用GPIO_Init函数时,我们需要先定义一个GPIO_InitTypeDef结构体并对其中的各个参数进行赋值或者使用GPIO_StructInit函数将定义的结构体设置为默认值,然后将其作为参数传递给GPIO_Init函数,以完成对GPIO口的初始化配置。 使用方法:初始化PB5口为推挽输出模式,速度为50MHz,无上下拉电阻,代码如下:...
如图8.2.2 所示为开发板三色LED灯部分的原理图,LED灯的正极直接连接了VDD_3V3,LED灯的负极分别连接了三个GPIO引脚,红色LED连接的PB0,绿色LED连接的PB1,蓝色LED连接的PB5,只需要控制PB0、PB1、PB5为相应低电平,即可点亮对应LED灯,输出为高电平时熄灭对应LED灯。 8.3软件设计 本节将会对软件设计中关键部分进行...
GPIO_ResetBits(GPIOx , GPIO_Pin_y)表示将Px(y)的引脚拉低; 二. 示例程序:通过控制引脚PB5输出高低电平实现led灯的亮灭。 登录后复制“bsp_led.c”//led驱动文件#include"bsp_led.h"voidLED_GPIO_Config(void){ GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB , EN...
比如我们要设置 PORTB 的 12 位为推挽输出 ,5 位为上拉输入。 //配置PB5为上拉输入 GPIOB->CRH &=0XFF0FFFFF;//清掉这5引脚位原来的设置,同时也不影响其他位的设置 GPIOB->CRH |=0X00800000;// 配置PB5上拉输入 GPIOB->ODR=1<<5;//PB5 上拉 ...
开发板带有黄色和绿色的LED灯,分别是黄色灯由管脚PE5控制,绿色灯由管脚PB5控制。点击PE5管脚,选择功能为输出,右击该管脚,为该管脚输入一个标签(其实是生成一个宏,方便以后因管脚变化代码修改方便)。 绿色灯同理,设置完后,外设配置选择“GPIO”,此处用于设置IO口的一些属性 ...
对照开发板硬件手册,我们可以看到RGB三色灯的由PB0、PB1、PB5控制,上面还标着TIM3_CH2,这是定时器相关的部分,之后再说。 另外我们也能从原理图中得知这个LED是低电平(0)点亮 在cubemx中将三个控制的GPIO设置为推挽输出 其中UserLabel可填可不填,填了之后这个名字就是程序中GPIO口的名字 ...
1、几种IO口输出类型(以PB5和PB10为例) 1、使用GPIOB_ODR寄存器 2、使用GPIOB_BSRR寄存器 3、使用GPIOB_BRR寄存器 4、小总结(比较重要) 一、GPIO的寄存器 每个GPIO端口有两个32位配置寄存器(GPIOx_CRL, GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一...
kernel/arch/arm/boot/dts/rongpin/rv1126_1109_common.dtsi 2、GPIO 设备树节点及描述 代码语言:javascript 代码运行次数:0 运行 AI代码解释 //rpgpio initrp_gpio{status="okay";compatible="rp_gpio";ir_led{gpio_num=<&gpio2RK_PB5GPIO_ACTIVE_LOW>;gpio_function=<0>;//0:output 1:input};bl_le...
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//LED0--PB.5端口配置 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//速度50MHz GPIO_Init(GPIOB,GPIO_InitStructure);//根据设定参数配置GPIO ...