修改了读地址逻辑
This commit is contained in:
parent
b422fa964d
commit
5fc37391d4
|
@ -2,7 +2,7 @@
|
|||
* @Author: mbw
|
||||
* @Date: 2024-12-06 14:49:21
|
||||
* @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
|
||||
* @Description: 主要用于对一些MAC地址等关键信息进行保存和读取操作
|
||||
*
|
||||
|
@ -75,12 +75,12 @@ int Flash_Set_Valve_Num(uint8_t valve_num)
|
|||
/*获取无线调压器数量*/
|
||||
uint8_t Flash_Get_Valve_Num(void)
|
||||
{
|
||||
uint8_t num;
|
||||
int num;
|
||||
EEPROM_READ(FLASH_MAC_NUM_ADDR, &num, FLASH_MAC_NUM_LEN);
|
||||
DelayMs(2);
|
||||
if (num != 0xFF)
|
||||
if ((uint8_t)num != 0xFF)
|
||||
{
|
||||
return num;
|
||||
return (uint8_t)(num & 0xFF);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -92,9 +92,11 @@ void BSP_FLASH_Init(void)
|
|||
{
|
||||
uint32_t flash_write_flag = 0;
|
||||
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);
|
||||
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;
|
||||
// 擦除数据
|
||||
EEPROM_ERASE(FLASH_INFO_ADDR, DATA_FLASH_PAGE_SIZE); // 擦除待写区
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: mbw
|
||||
* @Date: 2024-12-09 11:40:10
|
||||
* @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
|
||||
* @Description:
|
||||
*
|
||||
|
@ -139,11 +139,8 @@ int BSP_Bt_Register_Valve(uint8_t *data, uint8_t len)
|
|||
else
|
||||
{
|
||||
uint8_t num = Flash_Get_Valve_Num();
|
||||
logDebug("num : %02X ", num);
|
||||
Flash_Set_Valve_Num(num + 1);
|
||||
logDebug("写入成功,当前阀门数量为: %d", num + 1);
|
||||
BSP_Bt_Valve_Updata(); // 更新阀门信息
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -283,9 +280,8 @@ void BSP_Bt_Valve_Updata(void)
|
|||
|
||||
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;
|
||||
logDebug("updata valve_id: %d, valve_mac: %02X %02X %02X %02X %02X %02X",
|
||||
valve_list.valve_data[cnt].valve_id,
|
||||
|
|
Loading…
Reference in New Issue