下面我们来看一看他们各自是如何好、实现的因为HAL_GPIO_Write已经介绍过了所以我们从另一个常用函数开始介绍——HAL_GPIO_ReadPin(); GPIO_PinStateHAL_GPIO_ReadPin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin){GPIO_PinState bitstatus;/* Check the parameters */assert_param(IS_GPIO_PIN(GPIO_Pin));if((GP...
登录后复制typedefstruct{uint32_tGPIO_Pin;//GPIO端口的引脚GPIOMode_TypeDef GPIO_Mode;//GPIO的端口模式GPIOSpeed_TypeDef GPIO_Speed;//GPIO的输出速度频率GPIOOType_TypeDef GPIO_OType;//GPIO输出时的类型GPIOPuPd_TypeDef GPIO_PuPd;//GPIO上下拉电阻设置}GPIO_InitTypeDef; (a)、GPIO端口的引脚:可选范围为...
1. 引脚模式(Pin Mode):GPIO引脚可以配置为输入模式(作为数据输入)或输出模式(作为数据输出)。 2. 引脚速率(Pin Speed):GPIO引脚的速率决定了数据引脚的切换时间。 3. 引脚状态(Pin State):GPIO引脚的状态可以是高电平(逻辑1)、低电平(逻辑0)或三态(高阻抗)状态。 4. 引脚控制(Pin Control):GPIO引脚的控制...
GPIOx:GPIOAGPIO_Pin:GPIO_PIN_8PinState:GPIO_PIN_RESET/GPIO_PIN_SETGPIO_PIN_RESET:低电平GPIO_PIN_SET:高电平 因为笔者要控制的GPIO为PA8,为GPIOA的IO8号,配置为低电平,就如下图: HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET); 不过,还记得我们设置了User Label了吗,所以我们的代码也可...
1. GPIO简介 2. GPIO的八种工作模式 2.1 输入浮空模式(Floating Input Mode) 2.2 输入上拉模式(Input with Pull-up Mode) 2.3 输入下拉模式(Input with Pull-down Mode) 2.4 模拟输入模式(Analog Input Mode) 2.5 开漏输出模式(Open-drain Output Mode) ...
HAL_GPIO_WritePin(SPI_CLK_GPIO_Port, SPI_CLK_Pin, GPIO_PIN_RESET); /* 时钟空闲为低电平 */ SD_SPI_ReadWriteByte(0xFF); SD_CS_H(); } SD SPI 驱动代码 / //取消选择,释放SPI总线 void SD_DisSelect(void) { SD_CS_H(); SD_SPI_ReadWriteByte(0xff);//提供额外的8个时钟 ...
(2) 完成片选信号的GPIO配置 完成上述配置后点击代码生成。 03第三节MDK 配置 将CubeMx生成的代码使用MDK打开进行应用代码编写: 在spi.h 中进行FLASH操作的指令宏定义: //指令表#defineW25X_WriteEnable 0x06#defineW25X_WriteDisable 0x04#defineW25X_ReadStatusReg 0x05#defineW25X_WriteStatusReg 0x01#defineW25...
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);...
GPIOPuPd_TypeDef GPIO_PuPd; //GPIO上下拉电阻设置 }GPIO_InitTypeDef; 1. 2. 3. 4. 5. 6. 7. 8. (a)、GPIO端口的引脚:可选范围为GPIO_Pin_0~GPIO_Pin_15,也可以选所有引脚GPIO_Pin_All。 (b)、GPIO的端口模式:用于设置GPIO的端口模式,可选的端口模式如下。
{HAL_GPIO_WritePin(LED1_GPIO_Port, LED5_Pin, GPIO_PIN_SET);HAL_GPIO_WritePin(LED2_GPIO_Port, LED6_Pin, GPIO_PIN_SET);HAL_GPIO_WritePin(LED3_GPIO_Port, LED7_Pin, GPIO_PIN_SET);printf("LED ON!n");HAL_Delay(1000);HAL_GPIO_WritePin(LED1_GPIO_Port, LED5_Pin, GPIO_PIN_RESET)...