This commit is contained in:
小马_666 2025-02-06 09:30:52 +08:00
parent e5d7708387
commit 5312f3cb0f
3 changed files with 12 additions and 14 deletions

View File

@ -2,7 +2,7 @@
* @Author : stark1898y 1658608470@qq.com
* @Date : 2024-09-04 13:33:49
* @LastEditors: mbw && 1600520629@qq.com
* @LastEditTime: 2025-02-06 08:55:35
* @LastEditTime: 2025-02-06 09:10:34
* @FilePath: \JT-DT-YD4N02A_RTT_MRS-NT26K\bsp\src\at_device_nt26k.c
* @Description :
*

View File

@ -2,7 +2,7 @@
* @Author: mbw
* @Date: 2024-11-14 10:21:04
* @LastEditors: mbw && 1600520629@qq.com
* @LastEditTime: 2025-01-25 17:15:31
* @LastEditTime: 2025-02-06 09:16:14
* @FilePath: \JT-DT-YD4N02A_RTT_MRS-NT26K\bsp\src\bsp_h308.c
* @Description:
*
@ -41,7 +41,8 @@ static struct rt_timer uart4_rx_timer;
uint8_t sensor_rx_flag = 0; // 接收缓冲区中已经收到的数据包数量static rt_uint8_t alarm_flag = 0, fault_flag = 0;
rt_uint8_t alarm_flag = 0, fault_flag = 0;
TsH308 H308 = {0};
static rt_uint8_t alarm_status_buffer[H308_SAMPLING_TIMS] = {0};
static rt_uint8_t fault_buf[H308_SAMPLING_TIMS] = {0};
void _UART4_RxTimeout(void *parameter)
{
sensor_rx_flag = 0;
@ -97,7 +98,7 @@ uint8_t H308_GetFrameData(const char *p_src, const rt_uint8_t src_len, TsH308Dat
rt_uint8_t xor = 0;
uint8_t ret = 0;
char *p_str = strstr(p_src, "A+"); // 查找子字符串的位置
char *p_str = rt_strstr(p_src, "A+"); // 查找子字符串的位置
uint32_t offset = p_str - p_src; // 计算偏移量
TsH308StrData _H308StrData = {0};
@ -110,7 +111,7 @@ uint8_t H308_GetFrameData(const char *p_src, const rt_uint8_t src_len, TsH308Dat
{
pData->checksum = (rt_uint8_t)strtol(_H308StrData.checksum, NULL, 16);
xor = H308_XorChecksum(p_str, 44); // 对数据进行异或校验
if (xor== pData->checksum)
if (xor == pData->checksum)
{
pData->lel = (float)(atof(_H308StrData.vol) * 20);
pData->temp = (float)atof(_H308StrData.temp);
@ -217,8 +218,6 @@ static uint8_t H308_CheckData(void)
{
static rt_uint8_t alarm_count = 0, fault_count = 0;
static rt_uint8_t index = 0;
static rt_uint8_t alarm_status_buffer[H308_SAMPLING_TIMS] = {0};
static rt_uint8_t fault_buf[H308_SAMPLING_TIMS] = {0};
alarm_status_buffer[index] = (H308.Data.lel < (float)H308.alarm_value) ? kH308Normal : kH308Alarm;
fault_buf[index] = (H308.Data.fault_code == 0) ? kH308Normal : kH308Fault;
@ -403,12 +402,11 @@ int BSP_H308_Init(void)
H308_RST_OFF;
H308_PWR_ON;
uart4_rx_ok_sem = rt_sem_create("uart4_rx", 0, RT_IPC_FLAG_FIFO);
uart4_rx_ok_sem = rt_sem_create("uart4_rx", 0, RT_IPC_FLAG_PRIO);
if (uart4_rx_ok_sem == RT_NULL)
{
LOG_E("uart4_rx_ok_sem create failed");
}
// TODO:这里改的静态
rt_timer_init(&uart4_rx_timer, "_UART4_RxTimeout", _UART4_RxTimeout, RT_NULL, 200, RT_TIMER_FLAG_PERIODIC);
UART4_Init();

View File

@ -2,7 +2,7 @@
* @Author: mbw
* @Date: 2024-10-09 08:42:14
* @LastEditors: mbw && 1600520629@qq.com
* @LastEditTime: 2025-02-06 08:41:05
* @LastEditTime: 2025-02-06 09:27:48
* @FilePath: \JT-DT-YD4N02A_RTT_MRS-NT26K\bsp\src\bsp_nt26k.c
* @Description:
*
@ -140,7 +140,7 @@ static void Nt26k_Set_Event(Nt26kEvent event_type)
void Nt26k_Event_Init(void)
{
rt_err_t ret = rt_event_init(&at_device_event, "nt26k_event", RT_IPC_FLAG_PRIO);
rt_err_t ret = rt_event_init(&at_device_event, "nt26k_event", RT_IPC_FLAG_FIFO);
if (ret == RT_EOK)
{
nt26k_event_initialized = RT_TRUE;