From 2b40605dbb9622b2099f7c4c6a628e40cd17e805 Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期四, 29 五月 2025 18:11:01 +0800 Subject: [PATCH] 基本完成免布线基站测试固件,功耗升级等未测试 --- keil/include/drivers/global_param.c | 153 ++++++++++++++++++++++++-------------------------- 1 files changed, 73 insertions(+), 80 deletions(-) diff --git a/keil/include/drivers/global_param.c b/keil/include/drivers/global_param.c index 2878798..e66e9d7 100644 --- a/keil/include/drivers/global_param.c +++ b/keil/include/drivers/global_param.c @@ -5,7 +5,6 @@ #define FLASH_IAP_CTRL_MAP (uint32_t)0x0402E000 //the control map start address, 63K MK8000修改 - uint16_t g_com_map[COM_MAP_SIZE]; uint8_t parameter_check(void) { @@ -37,100 +36,94 @@ } 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[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[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[MODBUS_MODE]=0; - 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]=0x1234; - + + 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[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[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[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[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[HEIGHTOFFEST_INDEX]=0; - save_com_map_to_flash(); - } + save_com_map_to_flash(); + } } \ No newline at end of file -- Gitblit v1.9.3