在Firefly 的例子程序中还包含了一个中断引脚,GPIO 口的中断使用与 GPIO 的输入输出类似,首先在 DTS 文件中增加驱动的资源描述: kernel/arch/arm64/boot/dts/rockchip/rk3399-firefly-port.dtsigpio{compatible="firefly-gpio";firefly-irq-gpio=<&gpio429IRQ_TYPE_EDGE_RISING>;/*GPIO4_D5*/}; IRQ_TYPE_...
//设置GPIOF_PIn1,GPIOF_PIn2,GPIOF_PIn3为输出模式 GPIOPinTypeGPIOOutput( GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3); // GPIODirModeSet(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, GPIO_DIR_MODE_OUT); // GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PI...
RCC->APB2ENR|=1<<(portx+2);//外设时钟使能if(pinx<8) { GPIO->CRL &=~(0x0F<<(pinx*4));//该引脚模式配置四位清零GPIO->CRL|=gpio_cfg<<(4*pinx);//端口配置寄存器CRL}elseif(pinx>=8) { GPIO->CRH &=~(0x0F<<((pinx-8)*4));//该引脚模式配置四位清零GPIO->CRH|=gpio_cfg...
16 #define GPIOF_BASE (APB2PERIPH_BASE + 0x1C00) 17 #define GPIOG_BASE (APB2PERIPH_BASE + 0x2000) 20 /* 寄存器基地址,以 GPIOB 为例 */ 21 #define GPIOB_CRL (GPIOB_BASE+0x00) 22 #define GPIOB_CRH (GPIOB_BASE+0x04) 23 #define GPIOB_IDR (GPIOB_BASE+0x08) 24 #define ...
YELLOW_LED_GPIO_PORT->CRL &= ~(0x0f<< (2*4)); YELLOW_LED_GPIO_PORT->CRL |=0x03<< (2*4); YELLOW_LED_GPIO_PORT->BSRR |=0x01<<2; }intmain() { LED_Init();while(1) { YELLOW_LED_TOGGLE; HAL_Delay(500); } }1234567891011121314151617181920212223 ...
F767:stm32f767xx.h 文件中查找GPIO得到: typedefstruct{__IOuint32_tMODER;/*!< GPIO port mode register, Address offset: 0x00 */__IOuint32_tOTYPER;/*!< GPIO port output type register, Address offset: 0x04 */__IOuint32_tOSPEEDR;/*!< GPIO port output speed register, Address offset:...
开发板:GD32F207I-EVAL MCU:GD32F207IK 上一章通过控制GPIO的高低电平实现了流水灯,但只是告诉了大家怎么做,如何实现流水灯,本文将深入剖析的GPIO流水灯的前生今世,深入研究流水灯的调用逻辑和数据结构。 1 GPIO配置概述 前面一章大概讲解GPIO的配置过程和核心的寄存器,当然啦,关于GPIO的寄存器远不止我上一章列...
这是F407的中文参考手册的截图 我们能看到 BSRR寄存器是一个32位的寄存器,每一位代表着这个端口的一个引脚,BSRR寄存器分为高位和低位, 高位控制 ODR 复位(将寄存器写入0)低位控制 ODR 寄存器置位(将寄存器写入1)。具体的使用方法在手册里写的很清楚,这里要注意的是同时对高位和低位置位时高位优先级更高,会覆盖...
#define GPIOD_BASE (AHB1PERIPH_BASE + 0x0C00) #define GPIOE_BASE (AHB1PERIPH_BASE + 0x1000) #define GPIOF_BASE (AHB1PERIPH_BASE + 0x1400) #define GPIOG_BASE (AHB1PERIPH_BASE + 0x1800) #define GPIOH_BASE (AHB1PERIPH_BASE + 0x1C00) ...
port->base + GPIO_GDIR,NULL, BGPIOF_READ_OUTPUT_REG_SET);if(err)gotoout_bgio;if(of_property_read_bool(np,"gpio_ranges")) port->gpio_ranges =true;elseport->gpio_ranges =false; port->gc.request = mxc_gpio_request; port->gc.free= mxc_gpio_free; ...