// 定义DHT11 GPIO配置define DHT11_GPIO_PORT GPIOBdefine DHT11_GPIO_PIN GPIO_PIN_void DHT11_Init(void){GPIO_InitTypeDef GPIO_InitStruct = {0};__HAL_RCC_GPIOB_CLK_ENABLE(); // 启用GPIOB时钟GPIO_InitStruct.Pin = DHT11_GPIO_PIN;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // 推挽...
(RCC_APB2Periph_GPIOB, ENABLE); // 配置GPIO PB12 GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; // 开漏输出 GPIO_InitStructure.GPIO_Pin = DHT11_GPIO_Pin; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(DHT11_GPIO_Port, &GPIO_...
RCC_APB2PeriphClockCmd(DHT11_GPIO_CLK, ENABLE); //使能PA端口时钟 GPIO_InitStructure.GPIO_Pin = DHT11_GPIO_PIN; //PG11端口配置 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(DHT11_GPIO_PORT, &GPIO_InitStructure)...
#define DHT11_GPIO_PORT GPIOB #define DHT11_GPIO_PIN GPIO_PIN_7 void DHT11_GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStruct.Pin = DHT11_GPIO_PIN; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_...
while (GPIO_ReadInputDataBit(DHT11_GPIO_PORT, DHT11_GPIO_PIN) == SET) { retry++; if (retry > 1000) { return 0; } delay_us(1); } if (retry < 30) { return 0; } else { return 1; } } uint8_t dht11_read_byte(void) ...
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); DHT11_Mode(1); // 推挽输出 GPIO_SetBits(DHT11_PORT, DHT11_PIN); // 将PA5设置为高电平 } 步骤二: 微处理器的I/O设置为输出同时输出低电平,且低电平保持时间不能小于18ms(最大不得 超过30ms),然后微处理器的I/O设置为输入状态,由于上...
#define RCC_DHT11_GPIO_ENABLE() __RCC_GPIOB_CLK_ENABLE() #define PORT_DHT11 CW_GPIO...
RCC_APB2PeriphClockCmd(DHT11_PORT_RCC, ENABLE); //使能PD端口时钟 GPIO_InitStructure.GPIO_Pin =...
#define DHT11_PORT GPIOA #define DHT11_PIN GPIO_PIN_0 #define DHT11_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() void DHT11_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; DHT11_GPIO_CLK_ENABLE(); GPIO_InitStruct.Pin = DHT11_PIN; ...
{/*定义一个GPIO_InitTypeDef类型的结构体*/GPIO_InitTypeDef GPIO_InitStructure={0};/*开启DHT11_Dout_GPIO_PORT的外设时钟*/RCC_APB2PeriphClockCmd ( RCC_APB2Periph_GPIOB, ENABLE );/*选择要控制的DHT11_Dout_GPIO_PORT引脚*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;/*设置引脚模式为通用推挽输出*/GP...