mirror of
https://git.aixiao.me/aixiao/Danger-alarm.git
synced 2025-07-29 19:13:39 +08:00
这次提交基于FreeRTOS能正常运行。
还存在微小问题,由于CO2传感器必须通过看门狗重启一次后才能正常,这个问题还没解决。(喂狗只在CO2函数内,保证能重启RP2040)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#include "ZC13.hpp"
|
||||
#include "common.hpp"
|
||||
#include "HC-12.hpp"
|
||||
|
||||
int ZC13_INIT()
|
||||
{
|
||||
@@ -33,7 +34,7 @@ int ZC13_PIO_UART_RX_DATA(PIO pio, uint sm, uint8_t * DATA, int DATA_LEN)
|
||||
if (uart_rx_program_available(pio, sm)) {
|
||||
c = uart_rx_program_getc(pio, sm);
|
||||
DATA[received_count++] = c;
|
||||
//printf("0x%X ", c);
|
||||
printf("0x%X ", c);
|
||||
if (c == '\n') {
|
||||
// 接收到换行符,停止接收数据
|
||||
break;
|
||||
@@ -66,8 +67,8 @@ int ZC13(const char *model)
|
||||
// 接收指令
|
||||
CH4_DATA_LEN = ZC13_PIO_UART_RX_DATA(ZC13_PIO, ZC13_PIO_SM_RX, CH4_DATA, 9);
|
||||
|
||||
//printf("\n");
|
||||
// printf("%d\n", CH4_DATA_LEN);
|
||||
printf("\n");
|
||||
printf("%d\n", CH4_DATA_LEN);
|
||||
|
||||
uint8_t highByte = CH4_DATA[2]; // 假设这是气体浓度高位字节
|
||||
uint8_t lowByte = CH4_DATA[3]; // 假设这是气体浓度高位字节
|
||||
@@ -104,13 +105,19 @@ int ZC13(const char *model)
|
||||
void CH4(void *pvParameters)
|
||||
{
|
||||
ZC13_INIT();
|
||||
_printTaskStackHighWaterMark("ZC13");
|
||||
_printTaskStackHighWaterMark("CH4");
|
||||
|
||||
while (1) {
|
||||
|
||||
ZC13("ZC05");
|
||||
//_printTaskStackHighWaterMark("ZC13");
|
||||
watchdog_update(); // 喂狗
|
||||
while (1)
|
||||
{
|
||||
|
||||
char CH4_DATA[BUFER] = { 0 };
|
||||
sprintf(CH4_DATA, "CH4 Concentration: %d\n", ZC13("ZC05"));
|
||||
_HC_12(CH4_DATA);
|
||||
|
||||
//_printTaskStackHighWaterMark("CH4");
|
||||
//watchdog_update(); // 喂狗
|
||||
vTaskDelay(pdMS_TO_TICKS(3000)); // 非阻塞延时
|
||||
}
|
||||
|
||||
return ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user