mirror of
https://git.aixiao.me/aixiao/Danger-alarm.git
synced 2025-07-29 19:13:39 +08:00
优化FreeRTOS
This commit is contained in:
@@ -10,6 +10,7 @@ void DS18B20(void *pvParameters)
|
||||
{
|
||||
// One_wire 第三方库方法
|
||||
float TEMPERATURE = -1;
|
||||
char TEMPERATURE_TEMP[BUFER] = { 0 };
|
||||
One_wire one_wire(DS18B20_PIN);
|
||||
one_wire.init();
|
||||
rom_address_t address {
|
||||
@@ -23,19 +24,24 @@ void DS18B20(void *pvParameters)
|
||||
|
||||
|
||||
one_wire.single_device_read_rom(address);
|
||||
one_wire.convert_temperature(address, true, false);
|
||||
int delay_time = one_wire.convert_temperature(address, true, false);
|
||||
//printf("Conversion delay time: %d ms\n", delay_time);
|
||||
|
||||
TEMPERATURE = one_wire.temperature(address);
|
||||
|
||||
sleep_ms(1000);
|
||||
printf("Device Address: %02x%02x%02x%02x%02x%02x%02x%02x DS18B20 Temperature: %3.1f°C\n", \
|
||||
address.rom[0], address.rom[1], address.rom[2], address.rom[3], address.rom[4], \
|
||||
address.rom[5], address.rom[6], address.rom[7], one_wire.temperature(address));
|
||||
|
||||
|
||||
if (TEMPERATURE == -1000) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (TEMPERATURE != 85) {
|
||||
char TEMPERATURE_TEMP[BUFER] = { 0 };
|
||||
|
||||
sprintf(TEMPERATURE_TEMP, "Temperature: %.3f°C\n", TEMPERATURE);
|
||||
_HC_12(TEMPERATURE_TEMP);
|
||||
|
||||
memset(TEMPERATURE_TEMP, 0, BUFER);
|
||||
TEMPERATURE = -1;
|
||||
}
|
||||
/*
|
||||
@@ -45,7 +51,7 @@ void DS18B20(void *pvParameters)
|
||||
*/
|
||||
//_printTaskStackHighWaterMark("DS18B20");
|
||||
//watchdog_update(); // 喂狗
|
||||
vTaskDelay(pdMS_TO_TICKS(3000)); // 非阻塞延时
|
||||
vTaskDelay(pdMS_TO_TICKS(5000)); // 非阻塞延时
|
||||
}
|
||||
|
||||
return ;
|
||||
|
||||
Reference in New Issue
Block a user