修改了读地址逻辑
This commit is contained in:
parent
b422fa964d
commit
5fc37391d4
|
@ -2,7 +2,7 @@
|
||||||
* @Author: mbw
|
* @Author: mbw
|
||||||
* @Date: 2024-12-06 14:49:21
|
* @Date: 2024-12-06 14:49:21
|
||||||
* @LastEditors: mbw && 1600520629@qq.com
|
* @LastEditors: mbw && 1600520629@qq.com
|
||||||
* @LastEditTime: 2025-01-02 13:18:15
|
* @LastEditTime: 2025-01-04 11:46:09
|
||||||
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_flash.c
|
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_flash.c
|
||||||
* @Description: 主要用于对一些MAC地址等关键信息进行保存和读取操作
|
* @Description: 主要用于对一些MAC地址等关键信息进行保存和读取操作
|
||||||
*
|
*
|
||||||
|
@ -75,12 +75,12 @@ int Flash_Set_Valve_Num(uint8_t valve_num)
|
||||||
/*获取无线调压器数量*/
|
/*获取无线调压器数量*/
|
||||||
uint8_t Flash_Get_Valve_Num(void)
|
uint8_t Flash_Get_Valve_Num(void)
|
||||||
{
|
{
|
||||||
uint8_t num;
|
int num;
|
||||||
EEPROM_READ(FLASH_MAC_NUM_ADDR, &num, FLASH_MAC_NUM_LEN);
|
EEPROM_READ(FLASH_MAC_NUM_ADDR, &num, FLASH_MAC_NUM_LEN);
|
||||||
DelayMs(2);
|
DelayMs(2);
|
||||||
if (num != 0xFF)
|
if ((uint8_t)num != 0xFF)
|
||||||
{
|
{
|
||||||
return num;
|
return (uint8_t)(num & 0xFF);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -92,13 +92,15 @@ void BSP_FLASH_Init(void)
|
||||||
{
|
{
|
||||||
uint32_t flash_write_flag = 0;
|
uint32_t flash_write_flag = 0;
|
||||||
EEPROM_READ(FLASH_INFO_WRITE_FLAG_ADDR, &flash_write_flag, FLASH_INFO_WRITE_FLAG_LEN);
|
EEPROM_READ(FLASH_INFO_WRITE_FLAG_ADDR, &flash_write_flag, FLASH_INFO_WRITE_FLAG_LEN);
|
||||||
|
logDebug("flash_write_flag = %X", flash_write_flag);
|
||||||
DelayMs(2);
|
DelayMs(2);
|
||||||
if (flash_write_flag != FLASH_INFO_WRITE_FLAG_VAL) // 用以防止刷掉写入的数据
|
if (flash_write_flag != FLASH_INFO_WRITE_FLAG_VAL) // 用以防止刷掉写入的数据
|
||||||
{
|
{
|
||||||
|
logDebug("flash_write_flag != FLASH_INFO_WRITE_FLAG_VAL");
|
||||||
flash_write_flag = FLASH_INFO_WRITE_FLAG_VAL;
|
flash_write_flag = FLASH_INFO_WRITE_FLAG_VAL;
|
||||||
// 擦除数据
|
// 擦除数据
|
||||||
EEPROM_ERASE(FLASH_INFO_ADDR, DATA_FLASH_PAGE_SIZE); // 擦除待写区
|
EEPROM_ERASE(FLASH_INFO_ADDR, DATA_FLASH_PAGE_SIZE); // 擦除待写区
|
||||||
DelayMs(2);
|
DelayMs(2);
|
||||||
EEPROM_WRITE(FLASH_INFO_WRITE_FLAG_ADDR, &flash_write_flag, FLASH_INFO_WRITE_FLAG_LEN);
|
EEPROM_WRITE(FLASH_INFO_WRITE_FLAG_ADDR, &flash_write_flag, FLASH_INFO_WRITE_FLAG_LEN);
|
||||||
DelayMs(2);
|
DelayMs(2);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: mbw
|
* @Author: mbw
|
||||||
* @Date: 2024-12-09 11:40:10
|
* @Date: 2024-12-09 11:40:10
|
||||||
* @LastEditors: mbw && 1600520629@qq.com
|
* @LastEditors: mbw && 1600520629@qq.com
|
||||||
* @LastEditTime: 2025-01-02 14:44:19
|
* @LastEditTime: 2025-01-04 13:02:54
|
||||||
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_valve.c
|
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_valve.c
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
|
@ -139,11 +139,8 @@ int BSP_Bt_Register_Valve(uint8_t *data, uint8_t len)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
uint8_t num = Flash_Get_Valve_Num();
|
uint8_t num = Flash_Get_Valve_Num();
|
||||||
logDebug("num : %02X ", num);
|
|
||||||
Flash_Set_Valve_Num(num + 1);
|
Flash_Set_Valve_Num(num + 1);
|
||||||
logDebug("写入成功,当前阀门数量为: %d", num + 1);
|
|
||||||
BSP_Bt_Valve_Updata(); // 更新阀门信息
|
BSP_Bt_Valve_Updata(); // 更新阀门信息
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -283,9 +280,8 @@ void BSP_Bt_Valve_Updata(void)
|
||||||
|
|
||||||
for (int i = 1; i < MAX_VALVE_NUM; i++) // 这个循环是为了将数据拷贝到valve_list中, 并且保证id号和flash对应起来
|
for (int i = 1; i < MAX_VALVE_NUM; i++) // 这个循环是为了将数据拷贝到valve_list中, 并且保证id号和flash对应起来
|
||||||
{
|
{
|
||||||
if (Flash_Get_Mac_Addr(mac, i) == 0) // 说明有MAC数据
|
if (Flash_Get_Mac_Addr(valve_list.valve_data[cnt].valve_mac, i) == 0) // 说明有MAC数据
|
||||||
{
|
{
|
||||||
tmos_memcpy(valve_list.valve_data[cnt].valve_mac, mac, 6); // 这样做的目的就是读取方便,只需要根据flash中读取到的数量进行读取前N个值
|
|
||||||
valve_list.valve_data[cnt].valve_id = i;
|
valve_list.valve_data[cnt].valve_id = i;
|
||||||
logDebug("updata valve_id: %d, valve_mac: %02X %02X %02X %02X %02X %02X",
|
logDebug("updata valve_id: %d, valve_mac: %02X %02X %02X %02X %02X %02X",
|
||||||
valve_list.valve_data[cnt].valve_id,
|
valve_list.valve_data[cnt].valve_id,
|
||||||
|
|
Loading…
Reference in New Issue