读超过允许的寄存器返回0
This commit is contained in:
parent
afe80d0695
commit
075d293173
|
@ -31,8 +31,9 @@ static u_int16_t FRT_ReadRegTemperature(void *pMsg);
|
|||
static u_int16_t FRT_ReadRegHumidity(void *pMsg);
|
||||
static u_int16_t FRT_ReadRegPressure(void *pMsg);
|
||||
static u_int16_t FRT_ReadRegRain(void *pMsg);
|
||||
/* 读 */
|
||||
static u_int16_t FRT_ReadRegPrecipitationIntensity(void *pMsg);
|
||||
static u_int16_t FRT_ReadRegUVIntensity(void *pMsg);
|
||||
/* 读 */
|
||||
static u_int16_t FRT_ReadRegDeviceAddr(void *pMsg);
|
||||
static u_int16_t FRT_ReadRegCommuBaudRate(void *pMsg);
|
||||
static u_int16_t FRT_ReadRegSpeedAverageTime(void *pMsg);
|
||||
|
@ -126,6 +127,8 @@ FRT_RegProcTable_s g_RegTbl[] =
|
|||
{ FRT_REGISTER_PRESSURE, FRT_ReadRegPressure }, /* 大气压 */
|
||||
{ FRT_REGISTER_RAIN, FRT_ReadRegRain }, /* 雨量 */
|
||||
{ FRT_REGISTER_PRECIPITATION_INTENSITY, FRT_ReadRegPrecipitationIntensity }, /* 总辐射 */
|
||||
{ FRT_REGISTER_UV_INTENSITY, FRT_ReadRegUVIntensity }, /* 紫外强度 */
|
||||
|
||||
{ FRT_REGISTER_DEVICE_ADDR, FRT_ReadRegDeviceAddr }, /* 设备地址 */
|
||||
{ FRT_REGISTER_COMMU_BAUDRATE, FRT_ReadRegCommuBaudRate }, /* 波特率 */
|
||||
{ FRT_REGISTER_SPEED_AVERAGE_TIME, FRT_ReadRegSpeedAverageTime }, /* 风速平均时间 */
|
||||
|
@ -396,7 +399,7 @@ static u_int16_t FRT_ReadRegPressure(void *pMsg)
|
|||
*/
|
||||
static u_int16_t FRT_ReadRegRain(void *pMsg)
|
||||
{
|
||||
u_int16_t value=9;
|
||||
u_int16_t value=0;
|
||||
return FRT_swap_endian_16(value);
|
||||
}
|
||||
|
||||
|
@ -407,7 +410,18 @@ static u_int16_t FRT_ReadRegRain(void *pMsg)
|
|||
*/
|
||||
static u_int16_t FRT_ReadRegPrecipitationIntensity(void *pMsg)
|
||||
{
|
||||
u_int16_t value=10;
|
||||
u_int16_t value=0;
|
||||
return FRT_swap_endian_16(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 读紫外强度寄存器值
|
||||
* @param
|
||||
* @retval
|
||||
*/
|
||||
static u_int16_t FRT_ReadRegUVIntensity(void *pMsg)
|
||||
{
|
||||
u_int16_t value=0;
|
||||
return FRT_swap_endian_16(value);
|
||||
}
|
||||
|
||||
|
@ -1298,7 +1312,7 @@ void FRT_MsgProc_ReadRegister(device_handle device, void *pMsg)
|
|||
u_int16_t reg_num= (data[4] << 8)| data[5];
|
||||
if ( \
|
||||
start_reg_addr < 0x00 ||\
|
||||
(start_reg_addr > FRT_REGISTER_PRESSURE && start_reg_addr < FRT_REGISTER_THROUGH_WIND_DIRECTION) ||\
|
||||
/* (start_reg_addr > FRT_REGISTER_PRESSURE && start_reg_addr < FRT_REGISTER_THROUGH_WIND_DIRECTION) ||\ */
|
||||
(start_reg_addr > FRT_REGISTER_PEAK_WIND_SPEED && start_reg_addr < FRT_REGISTER_DEVICE_ADDR) ||\
|
||||
(start_reg_addr > FRT_REGISTER_TEMPHUM_UPDATE_TIME && start_reg_addr < FRT_REGISTER_TRANSDUCER_CFG_1R5) ||\
|
||||
start_reg_addr > FRT_REGISTER_ID_4 \
|
||||
|
@ -1311,7 +1325,7 @@ void FRT_MsgProc_ReadRegister(device_handle device, void *pMsg)
|
|||
|
||||
if ( \
|
||||
reg_num < 0x01 ||\
|
||||
(((reg_num + start_reg_addr - 1) > FRT_REGISTER_PRESSURE) && ((reg_num + start_reg_addr - 1) < FRT_REGISTER_THROUGH_WIND_DIRECTION)) ||\
|
||||
/* (((reg_num + start_reg_addr - 1) > FRT_REGISTER_PRESSURE) && ((reg_num + start_reg_addr - 1) < FRT_REGISTER_THROUGH_WIND_DIRECTION)) ||\ */
|
||||
(((reg_num + start_reg_addr - 1) > FRT_REGISTER_PEAK_WIND_SPEED) && ((reg_num + start_reg_addr - 1) < FRT_REGISTER_DEVICE_ADDR)) ||\
|
||||
(((reg_num + start_reg_addr -1) > FRT_REGISTER_TEMPHUM_UPDATE_TIME) && ((reg_num + start_reg_addr -1) < FRT_REGISTER_TRANSDUCER_CFG_1R5)) ||\
|
||||
((reg_num + start_reg_addr -1) > FRT_REGISTER_ID_4) \
|
||||
|
|
Loading…
Reference in New Issue