diff --git a/App/Src/frt_protocol.c b/App/Src/frt_protocol.c
index 3818e81..37d3122 100644
--- a/App/Src/frt_protocol.c
+++ b/App/Src/frt_protocol.c
@@ -462,6 +462,10 @@ static u_int16_t FRT_WriteRegDeviceAddr(void *pMsg)
{
uint16_t *pMsgAddr = (uint16_t *)pMsg;
uint16_t data = *pMsgAddr;
+ if(data > 0xFF || data < 0x00)
+ {
+ return 0;
+ }
g_usrConfigInfo.addr = data;
save_usr_config_info(g_usrConfigInfo);
@@ -477,9 +481,15 @@ static u_int16_t FRT_WriteRegCommuBaudRate(void *pMsg)
{
uint16_t *pMsgAddr = (uint16_t *)pMsg;
uint16_t data = *pMsgAddr;
+ if(data != 2400 && data != 4800 && data != 9600 && data != 19200 && data != 38400)
+ {
+ return 0;
+ }
+
+ //存
g_usrConfigInfo.uart_baud = data;
save_usr_config_info(g_usrConfigInfo);
-
+ //改
MX_USART3_UART_Init(g_usrConfigInfo.uart_baud);
MX_USART1_UART_Init(g_usrConfigInfo.uart_baud);
@@ -495,6 +505,10 @@ static u_int16_t FRT_WriteRegSpeedAverageTime(void *pMsg)
{
uint16_t *pMsgAddr = (uint16_t *)pMsg;
uint16_t data = *pMsgAddr;
+ if(data > 600 || data < 1)
+ {
+ return 0;
+ }
g_usrConfigInfo.speed_average_time = data;
save_usr_config_info(g_usrConfigInfo);
@@ -511,6 +525,10 @@ static u_int16_t FRT_WriteRegTempHumUpdateTime(void *pMsg)
{
uint16_t *pMsgAddr = (uint16_t *)pMsg;
uint16_t data = *pMsgAddr;
+ if(data > 600 || data < 1)
+ {
+ return 0;
+ }
g_usrConfigInfo.temp_hum_update_time = data;
save_usr_config_info(g_usrConfigInfo);
diff --git a/EWARM/micro_climate.ewd b/EWARM/micro_climate.ewd
index c567dea..2e5c4d3 100644
--- a/EWARM/micro_climate.ewd
+++ b/EWARM/micro_climate.ewd
@@ -84,7 +84,7 @@