IC解密STM32CUBEMX+DHT11+LCD1602温湿度
IC解密单片机源程序如下:
- /* USER CODE BEGIN PV */
- IC解密uint8_t DHT11Flag = 1; // DHT11Flag==0表示DHT11存在
- IC解密uint8_t TempData;//温度数据
- IC解密uint8_t HumiData;//湿度数据
- // 定义全局字符串变量
- const char g_send_str[] = "Demo Data Acquisition!\r\n";
- const char g_exist_str[] = "DHT11 exist!\r\n";
- const char g_no_exist_str[] = "DHT11 not exist!\r\n";
- char TempStr[16]; // 用于存储温度的字符串形式
- char HumiStr[16]; // 用于存储湿度的字符串形式
- uint8_t uart_buf[64]; // 扩大缓冲区预留余量
- uint16_t buf_len;
- /* USER CODE END PV */
- /* Private function prototypes -----------------------------------------------*/
- void SystemClock_Config(void);
- /* USER CODE BEGIN PFP */
- /* USER CODE END PFP */
- /* Private user code ---------------------------------------------------------*/
- /* USER CODE BEGIN 0 */
- /* USER CODE END 0 */
- /**
- * @brief The application entry point.
- * @retval int
- */
- int main(void)
- {
- /* USER CODE BEGIN 1 */
- /* USER CODE END 1 */
- /* MCU Configuration--------------------------------------------------------*/
- /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
- HAL_Init();
- /* USER CODE BEGIN Init */
- /* USER CODE END Init */
- /* Configure the system clock */
- SystemClock_Config();
- /* USER CODE BEGIN SysInit */
- /* USER CODE END SysInit */
- /* Initialize all configured peripherals */
- MX_GPIO_Init();
- MX_USART1_UART_Init();
- MX_TIM1_Init();
- /* USER CODE BEGIN 2 */
- HAL_UART_Transmit(&huart1,(uint8_t *)&"Demo Data Acquisition!\r\n",25,10);
- //串口1输出打印字符串,25个字符长度,超时时间10ms
-
- LCD_Init();
- LCD_Puts(0,0,"DHT11 Data Acquisition!");
- HAL_Delay(500);
- LCD_Clear();
- if(DHT11Flag==1) //先获得DHT11传感器响应
- {
- DHT11_Rst();
- DHT11Flag = DHT11_Check();
- if(DHT11Flag ==0)
- HAL_UART_Transmit(&huart1, (uint8_t *)g_exist_str, strlen(g_exist_str), 10);
- else
- HAL_UART_Transmit(&huart1, (uint8_t *)g_no_exist_str, strlen(g_no_exist_str), 10);
- }

芯片解密