河北稳控能用了

This commit is contained in:
95384 2025-06-07 17:24:38 +08:00
parent be0a717887
commit 45da99e06a
4 changed files with 19 additions and 10 deletions

View File

@ -1074,7 +1074,7 @@ static void getTempHumiPress(void)
float backupTemperature1;
float temp;
//采集MS5607并判错
if(get_HP203_data(&temp, &g_stMcs_Para.pressure) != HAL_OK)
if(get_HP203_data(&temp, &g_stMcs_Para.pressure) != TRUE)
{
//置错误标志位
g_error_log.temp_error_HP203B = 1;

View File

@ -411,7 +411,7 @@ static u_int16_t FRT_ReadRegPressure(void *pMsg)
*/
static u_int16_t FRT_ReadRegRain(void *pMsg)
{
u_int16_t value=(u_int16_t)(g_stMcs_Para.precipitation);
u_int16_t value=(u_int16_t)(g_stMcs_Para.lightIntensity);//存的10倍
return FRT_swap_endian_16(value);
}
@ -422,7 +422,8 @@ static u_int16_t FRT_ReadRegRain(void *pMsg)
*/
static u_int16_t FRT_ReadRegirradiance(void *pMsg)
{
u_int16_t value = g_stMcs_Para.lightIntensity/10.0f;
// u_int16_t value = g_stMcs_Para.lightIntensity/10.0f;
u_int16_t value = 0;
return FRT_swap_endian_16(value);
}

View File

@ -54,7 +54,7 @@ uart_device_info uart_devices[]={
[3] = {
.init = 0,
.uart_index = RAIN_RS485_UART_INDEX,
.uart_baudrate = 9600,
.uart_baudrate = 115200,
},
};

View File

@ -26,7 +26,7 @@ void getRainData(void)
//Çå¿ÕÓêÁ¿Ö¸Áî
void clearRainData(void)
{
uint8_t getRainDataCmd[] = {0x01, 0x06, 0x01, 0x05, 0x00, 0x00, 0x98, 0x37};
uint8_t getRainDataCmd[] = {0x01, 0x06, 0x00, 0x49, 0x00, 0x00, 0x58, 0x1C, 0x01, 0x06, 0x00, 0x48, 0x00, 0x00, 0x09, 0xDC};
uart_dev_write(g_rain_uart_handle, getRainDataCmd, sizeof(getRainDataCmd));
}
@ -37,10 +37,17 @@ void getLightData(void)
uart_dev_write(g_rain_uart_handle, getRainDataCmd, sizeof(getRainDataCmd));
}
//同时获取光照雨量指令,返回一倍光照,四个字节;十倍雨量两个字节
////同时获取光照雨量指令,返回一倍光照,四个字节;十倍雨量两个字节
//void getLightRainData(void)
//{
// uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x03, 0x00, 0x04, 0xB4, 0x09};
// uart_dev_write(g_rain_uart_handle, getRainDataCmd, sizeof(getRainDataCmd));
//}
//河北稳控,获取雨量
void getLightRainData(void)
{
uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x03, 0x00, 0x04, 0xB4, 0x09};
uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x48, 0x00, 0x02, 0x44, 0x1D};
uart_dev_write(g_rain_uart_handle, getRainDataCmd, sizeof(getRainDataCmd));
}
@ -109,9 +116,10 @@ static int read_rain_pack(device_handle uart_handle,u_int8_t *buff, u_int32_t bu
* @param
* @retval
*/
/* 10倍 */
static void processLightData(u_int8_t *pMsg)
{
uint32_t lightVal = pMsg[0]<<24|pMsg[1]<<16|pMsg[2]<<8|pMsg[3];
uint32_t lightVal = pMsg[0]<<24|pMsg[1]<<16|pMsg[2]<<8|pMsg[3]*2;//精度0.2
g_stMcs_Para.lightIntensity = lightVal;
// term_printf("lightVal:%d", lightVal);
}
@ -182,7 +190,7 @@ static unsigned short CRC16(unsigned char *arr_buff, unsigned char len)
* @retval
*/
#define RAIN_BUFF_CRC16(x) ((x[MsgLen - 2]) | (x[MsgLen - 1] << 8))
static void rainMsgHandler(device_handle device, u_int8_t *pMsg, u_int32_t MsgLen)
void rainMsgHandler(device_handle device, u_int8_t *pMsg, u_int32_t MsgLen)
{
if(CRC16(pMsg, MsgLen-2) != RAIN_BUFF_CRC16(pMsg))
{