# Raspberry Pi pin configuration:RST=None # on the PiOLEDthispin isnt used # Note the following are only usedwithSPI:DC=23SPI_PORT=0SPI_DEVICE=0disp=Adafruit_SSD1306.SSD1306_128_32(rst=RST)# Initialize library.disp.begin()# Clear display.disp.clear()disp.display()# Create blank imagef...
DHT11_OUT(); //设置为输出 HAL_GPIO_WritePin(GPIOG, GPIO_PIN_5, GPIO_PIN_RESET); //拉低引脚 HAL_Delay(20); //延迟20ms HAL_GPIO_WritePin(GPIOG, GPIO_PIN_5, GPIO_PIN_SET); //拉高引脚 Delay_us(30); } //等待DHT11回应 uint8_t DHT11_Check(void) { uint8_t retry=0; DHT11...
ctrl,BSP_IO_PORT_03_PIN_01,((uint32_t) IOPORT_CFG_PORT_DIRECTION_INPUT)); 读取温湿度数据 由于使用的是内部晶振,故度肯定是不如晶振的,对应的时间需要稍作修改。 起始信号如下图所示。 相应信号如下图所示 若数据无法正常读取,可以适当修改如下us延时。 注意在主程序中引入对应的头文件。
(DHT11_Check()==0) { //HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET); for(i=0;i< 5;i++)//读取40位数据 { buf[i]=DHT11_Read_Byte(); } if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4]) { *humi=buf[0]; *temp=buf[2]; } }else return 1; return 0; } ...
g_ioport_ctrl,BSP_IO_PORT_03_PIN_01,((uint32_t) IOPORT_CFG_PORT_DIRECTION_INPUT)); 读取温湿度数据 由于使用的是内部晶振,故度肯定是不如晶振的,对应的时间需要稍作修改。 起始信号如下图所示。 相应信号如下图所示 若数据无法正常读取,可以适当修改如下us延时。 注意在主程序中引入对应...
//DATA设为输入状态R_IOPORT_PinCfg(&g_ioport_ctrl,BSP_IO_PORT_03_PIN_01,((uint32_t) IOPORT_CFG_PORT_DIRECTION_INPUT)); 读取温湿度数据 由于使用的是内部晶振,故精确度肯定是不如外部晶振的,对应的时间需要稍作修改。 起始信号如下图所示。
GPIO_Pin_Type GPIO_Pin; }DHT11_Config; 当然响应的错误码不要忘记 // 状态错误码typedefenum__DHT11_Error{ DHT11_NO_ERROR,// 没错误DHT11_NOT_INIT,// 没有初始化DHT11_ERROR_DEVICE_NOT_FOUND,// 设备未找到DHT11_FAILED_READ_DATA,// 无法读取数据DHT11_FAILED_PASS_CHECK// 没有通过校验...
DHT11_DA_Pin)&&retry<100){//等待变为低电平 retry++; delay_us(1); } retry=0; while(!HAL_GPIO_ReadPin(GPIOB,DHT11_DA_Pin)&&retry<100){//等待变高电平 retry++; delay_us(1); } delay_us(40);//等待40us //用于判断高低电平,即数据1或0 if(HAL_GPIO_ReadPin(GPIOB,DHT11_DA_Pin)...
5、在Smart Configuration中配置P102引脚为Input mode6、全部保存刚刚的配置,更新当前配置文件保存完是灰色,没有保存是蓝色。3. 代码分析1、刚刚加载软件包在packages文件夹下,修改三处.c文件,dhtxx_latest的example文件夹下的dhtxx_sample.cdhtxx_latest的src文件夹下的dhtxx.c和sensor_asair_dhtxx.c...
DHT11_UP_IN(void) { GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.Pin = DHT11_PIN; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_PULLUP; //上拉 HAL_GPIO_Init(DHT11_PORT, &GPIO_InitStruct); } /** * *** * @brief 读取字节 * @return temp * **...