河北稳控能用了

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 backupTemperature1;
float temp; float temp;
//采集MS5607并判错 //采集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; 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) 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); 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) 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); return FRT_swap_endian_16(value);
} }

View File

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

View File

@ -26,7 +26,7 @@ void getRainData(void)
//Çå¿ÕÓêÁ¿Ö¸Áî //Çå¿ÕÓêÁ¿Ö¸Áî
void clearRainData(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)); 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)); 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) 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)); 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 * @param
* @retval * @retval
*/ */
/* 10倍 */
static void processLightData(u_int8_t *pMsg) 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; g_stMcs_Para.lightIntensity = lightVal;
// term_printf("lightVal:%d", lightVal); // term_printf("lightVal:%d", lightVal);
} }
@ -182,7 +190,7 @@ static unsigned short CRC16(unsigned char *arr_buff, unsigned char len)
* @retval * @retval
*/ */
#define RAIN_BUFF_CRC16(x) ((x[MsgLen - 2]) | (x[MsgLen - 1] << 8)) #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)) if(CRC16(pMsg, MsgLen-2) != RAIN_BUFF_CRC16(pMsg))
{ {