From c0c1ff032edd95fb1c8becf9dab14d6652b8ea1f Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期五, 30 五月 2025 16:22:20 +0800 Subject: [PATCH] 工装测试底板发货V1.0版本,增加默认g_com表组为150,按键按下后3s会重置标志位,避免重复启动免布线测功率模式 --- keil/include/drivers/global_param.c | 158 ++++++++++++++++++++++++++++------------------------ 1 files changed, 85 insertions(+), 73 deletions(-) diff --git a/keil/include/drivers/global_param.c b/keil/include/drivers/global_param.c index 447af52..d53d23a 100644 --- a/keil/include/drivers/global_param.c +++ b/keil/include/drivers/global_param.c @@ -37,94 +37,106 @@ } uint32_t save_com_map_to_flash(void) { - uint32_t result = 0; + uint32_t result = 0; if(parameter_check()) //参数错误,不保存 { return 1; } - __disable_irq(); - //result = FLASH_Prepare(FLASH_IAP_CTRL_MAP, (COM_MAP_SIZE<<1));MK8000修改 - result=flash_open(FLASH_ID0,NULL); - //MK8000没有对应函数 - if(!result){ - flash_erase(FLASH_ID0,FLASH_IAP_CTRL_MAP,FLASH_SECTOR_SIZE); - flash_write_nbytes(FLASH_ID0, FLASH_IAP_CTRL_MAP, (const uint8_t*)g_com_map, sizeof(g_com_map)); - //result = FLASH_Write(FLASH_IAP_CTRL_MAP, (const uint8_t*)g_com_map, (COM_MAP_SIZE<<1)); - } - //flash_close(FLASH_ID0); - __enable_irq(); - return result; + __disable_irq(); + //result = FLASH_Prepare(FLASH_IAP_CTRL_MAP, (COM_MAP_SIZE<<1));MK8000修改 + result=flash_open(FLASH_ID0,NULL); + //MK8000没有对应函数 + if(!result) { + flash_erase(FLASH_ID0,FLASH_IAP_CTRL_MAP,FLASH_SECTOR_SIZE); + flash_write_nbytes(FLASH_ID0, FLASH_IAP_CTRL_MAP, (const uint8_t*)g_com_map, sizeof(g_com_map)); + //result = FLASH_Write(FLASH_IAP_CTRL_MAP, (const uint8_t*)g_com_map, (COM_MAP_SIZE<<1)); + } + //flash_close(FLASH_ID0); + __enable_irq(); + return result; } void parameter_init(void)//注意看前面有没有关闭flash如果有则打开flash在读取,否则会出错 -{ flash_open(FLASH_ID0,NULL); - //FLASH_Read(FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, (COM_MAP_SIZE<<1));MK8000修改 - flash_read(FLASH_ID0, FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, sizeof(g_com_map)); - if(g_com_map[0] != 0x55AA)//第一次没有任何数据的话就默认这个 - { - g_com_map[0] = 0x55AA; - g_com_map[DEV_ID] =0x1234;//DEFAULT_DEV_ID; //默认设备ID +{ flash_open(FLASH_ID0,NULL); + //FLASH_Read(FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, (COM_MAP_SIZE<<1));MK8000修改 + flash_read(FLASH_ID0, FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, sizeof(g_com_map)); + if(g_com_map[0] != 0x55AA)//第一次没有任何数据的话就默认这个 + { + g_com_map[0] = 0x55AA; + g_com_map[DEV_ID] =0x1234;//DEFAULT_DEV_ID; //默认设备ID - g_com_map[COM_INTERVAL]=500; //频率2HZ - g_com_map[MAX_REPORT_ANC_NUM]=10; - g_com_map[GROUP_ID]=0; - g_com_map[DIST_OFFSET]=-31; - - g_com_map[DEV_ROLE] =0x1; //标签 + g_com_map[COM_INTERVAL]=200; //频率2HZ + g_com_map[MAX_REPORT_ANC_NUM]=10; + g_com_map[GROUP_ID]=0; + g_com_map[DIST_OFFSET]=-31; - - g_com_map[HEARTBEAT]=0; - - g_com_map[POWER]=67; //发射功率 - g_com_map[IMU_THRES]=2; - g_com_map[NOMOVESLEEP_TIME]=120; //静止休眠2分钟 - g_com_map[MOTOR_ENABLE]=1; //震动电机使能 - g_com_map[IMU_ENABLE]=1; //静止休眠使能 - - g_com_map[CNT_RESTART]=0; - g_com_map[CNT_REBOOT]=0; - g_com_map[CNT_UPDATE]=0; - g_com_map[MODBUS_MODE]=0; - g_com_map[ACTIVE_INDEX]=0; - g_com_map[STATIONARY_TIME]=20; //静止判定时间20秒 + g_com_map[DEV_ROLE] =0x1; //标签 + + + g_com_map[HEARTBEAT]=0; + + g_com_map[POWER]=67; //发射功率 + g_com_map[IMU_THRES]=2; + g_com_map[NOMOVESLEEP_TIME]=120; //静止休眠2分钟 + g_com_map[MOTOR_ENABLE]=1; //震动电机使能 + g_com_map[IMU_ENABLE]=1; //静止休眠使能 + + g_com_map[CNT_RESTART]=0; + g_com_map[CNT_REBOOT]=0; + g_com_map[CNT_UPDATE]=0; + g_com_map[MOTOR_ONTIME_INDEX]=10; + g_com_map[ACTIVE_INDEX]=0; + + g_com_map[TCP_IP_0]=0x111; + g_com_map[TCP_IP_0]=0x198; + g_com_map[TCP_IP_0]=0x60; + g_com_map[TCP_IP_0]=0x6; + g_com_map[TCP_IP_0]=1234; + g_com_map[HEIGHTOFFEST_INDEX]=0; - save_com_map_to_flash(); - } + save_com_map_to_flash(); + } } void parameter_init_anchor(void) { - flash_open(FLASH_ID0,NULL); - //FLASH_Read(FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, (COM_MAP_SIZE<<1));MK8000修改 - flash_read(FLASH_ID0, FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, sizeof(g_com_map)); - if(g_com_map[0] != 0x55AA)//第一次没有任何数据的话就默认这个 - { - g_com_map[0] = 0x55AA; - g_com_map[DEV_ID] =0x1234;//DEFAULT_DEV_ID; //默认设备ID + flash_open(FLASH_ID0,NULL); + //FLASH_Read(FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, (COM_MAP_SIZE<<1));MK8000修改 + flash_read(FLASH_ID0, FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, sizeof(g_com_map)); + if(g_com_map[0] != 0x55AA)//第一次没有任何数据的话就默认这个 + { + g_com_map[0] = 0x55AA; + g_com_map[DEV_ID] =0x1234;//DEFAULT_DEV_ID; //默认设备ID - g_com_map[COM_INTERVAL]=500; //频率2HZ - g_com_map[MAX_REPORT_ANC_NUM]=10; - g_com_map[GROUP_ID]=0; - g_com_map[DIST_OFFSET]=-31; - - g_com_map[DEV_ROLE] =0x0; //基站 + g_com_map[COM_INTERVAL]=200; //频率2HZ + g_com_map[MAX_REPORT_ANC_NUM]=10; + g_com_map[GROUP_ID]=150; + g_com_map[DIST_OFFSET]=-31; - - g_com_map[HEARTBEAT]=0; - - g_com_map[POWER]=67; //发射功率 - g_com_map[IMU_THRES]=2; - g_com_map[NOMOVESLEEP_TIME]=120; //静止休眠2分钟 - g_com_map[MOTOR_ENABLE]=1; //震动电机使能 - g_com_map[IMU_ENABLE]=1; //静止休眠使能 - - g_com_map[CNT_RESTART]=0; - g_com_map[CNT_REBOOT]=0; - g_com_map[CNT_UPDATE]=0; - g_com_map[MODBUS_MODE]=0; - g_com_map[ACTIVE_INDEX]=0; - g_com_map[STATIONARY_TIME]=20; //静止判定时间20秒 + g_com_map[DEV_ROLE] =0x0; //基站 + + + g_com_map[HEARTBEAT]=0; + + g_com_map[POWER]=67; //发射功率 + g_com_map[IMU_THRES]=2; + g_com_map[NOMOVESLEEP_TIME]=120; //静止休眠2分钟 + g_com_map[MOTOR_ENABLE]=1; //震动电机使能 + g_com_map[IMU_ENABLE]=1; //静止休眠使能 + + g_com_map[CNT_RESTART]=0; + g_com_map[CNT_REBOOT]=0; + g_com_map[CNT_UPDATE]=0; + g_com_map[MODBUS_MODE]=0; + g_com_map[ACTIVE_INDEX]=0; + + g_com_map[TCP_IP_0]=0x111; + g_com_map[TCP_IP_1]=0x198; + g_com_map[TCP_IP_2]=0x60; + g_com_map[TCP_IP_3]=0x6; + g_com_map[TCP_PORT]=0x1234; + g_com_map[HEIGHTOFFEST_INDEX]=0; - save_com_map_to_flash(); - } + save_com_map_to_flash(); + } } \ No newline at end of file -- Gitblit v1.9.3