温湿度读取没问题,板子不对

This commit is contained in:
stark1898y 2024-12-14 17:56:39 +08:00
parent fb2982a6ac
commit 6a8040ca2f
4 changed files with 36 additions and 11 deletions

View File

@ -16,7 +16,8 @@
"type_traits": "cpp",
"shell.h": "c",
"ch59x_common.h": "c",
"flexible_button.h": "c"
"flexible_button.h": "c",
"stdint.h": "c"
},
"marscode.chatLanguage": "cn"
}

View File

@ -6,6 +6,10 @@
#include <stdint.h>
#include <stdbool.h>
#define KEY_TIMOUT_MS 1000
#define KEY_LONG_PRESS_MS 5000
#define KEY_SACN_MS 40
#define KEY_SCAN_EVT (0x0001 << 0)
#define KEY_WAKEUP_EVT (0x0001 << 1)
#define KEY_RELEASE_EVT (0x0001 << 2)

View File

@ -378,6 +378,25 @@ uint8_t GXHTC3C_GetTempHumi(float *humi, float *temp)
return 0;
}
void GXHTC3C_Read(void)
{
int ret;
GXHTC3C_Wakeup();
DelayMs(20);
GXHTC3C_GetStart();
DelayMs(20);
float humi, temp;
ret = GXHTC3C_GetTempHumi(&humi, &temp);
if (ret == 0)
{
logDebug("humi %.2f %, temp %.2f C", humi, temp);
}
GXHTC3C_Sleep();
}
void GXHTC3C_Init(void)
{
#if 1
@ -388,10 +407,10 @@ void GXHTC3C_Init(void)
DelayMs(100);
GXHTC3C_Wakeup();
DelayMs(3);
DelayMs(20);
GXHTC3C_GetStart();
DelayMs(4);
DelayMs(20);
float humi, temp;
ret = GXHTC3C_GetTempHumi(&humi, &temp);
if (ret == 0)
@ -401,6 +420,11 @@ void GXHTC3C_Init(void)
GXHTC3C_Sleep();
for (uint8_t i = 0; i < 3; i++)
{
GXHTC3C_Read();
}
#endif
}

View File

@ -32,8 +32,6 @@ static void KEY_Task_ProcessTmosMsg(tmos_event_hdr_t *pMsg)
}
}
#define KEY_TIMOUT_MS 1000
#if 1
static uint16_t KEY_Task_ProcessEvent(uint8_t task_id, uint16_t events)
{
@ -56,7 +54,7 @@ static uint16_t KEY_Task_ProcessEvent(uint8_t task_id, uint16_t events)
static volatile bool key_vaild_for_long_press = false;
if (IS_KEY_Vaild())
{
if (key_vaild_times > 100)
if (key_vaild_times > (KEY_LONG_PRESS_MS / KEY_SACN_MS))
{ //> 20ms*100=2000ms
if (false == key_vaild_for_long_press)
{
@ -79,7 +77,7 @@ static uint16_t KEY_Task_ProcessEvent(uint8_t task_id, uint16_t events)
if (key_vaild_times)
{
if ((key_vaild_times) < 100)
if ((key_vaild_times) < (KEY_LONG_PRESS_MS / KEY_SACN_MS))
{
p_handler(kKeyShort);
}
@ -93,7 +91,7 @@ static uint16_t KEY_Task_ProcessEvent(uint8_t task_id, uint16_t events)
{
key_timeout_cnt--;
logDebug("key_timeout_cnt %d", key_timeout_cnt);
tmos_start_task(key_task_id, KEY_SCAN_EVT, MS1_TO_SYSTEM_TIME(40)); // 40ms
tmos_start_task(key_task_id, KEY_SCAN_EVT, MS1_TO_SYSTEM_TIME(KEY_SACN_MS)); // 40ms
}
else
{
@ -147,8 +145,6 @@ void BSP_KEY_ExitLowpower(void)
PWR_PeriphWakeUpCfg(DISABLE, RB_GPIO_WAKE_MODE | RB_SLP_GPIO_WAKE, Long_Delay);
}
#if 0
uint8_t read_button_GPIO(uint8_t button_id)
{
@ -269,7 +265,7 @@ void BSP_KEY_Init(app_task_evt_handler_t handler)
// 开启GPIOB中断
PFIC_EnableIRQ(GPIO_B_IRQn);
tmos_start_task(key_task_id, KEY_SCAN_EVT, MS1_TO_SYSTEM_TIME(20));
tmos_start_task(key_task_id, KEY_SCAN_EVT, MS1_TO_SYSTEM_TIME(KEY_SACN_MS));
// tmos_start_task(key_task_id, KEY_SCAN_EVT, MS1_TO_SYSTEM_TIME(5));