存档,一块板子可以读写,另一块不可以
This commit is contained in:
parent
f7f5d16292
commit
7d0c8795e1
|
@ -57,6 +57,7 @@ extern const lv_img_dsc_t * screen_main_ani_out_sign_imgs[3];
|
|||
#include "stdio.h"
|
||||
#include "ip5310_i2c.h"
|
||||
#include "eeprom_spi.h"
|
||||
#include "math.h"
|
||||
//#include "lv_demo_benchmark.h"
|
||||
|
||||
typedef enum
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
|
||||
//my address
|
||||
//{
|
||||
#define DEVICE_CHECK 0x0007D0
|
||||
#define EE_START_ADDR 0x000000
|
||||
#define EE_INTERVAL 16
|
||||
|
||||
|
@ -90,6 +91,9 @@ void eeprom_datasave(void);
|
|||
//开机上电后读取参数
|
||||
void eeprom_dataread(void);
|
||||
|
||||
//判断EEPROM内是否已存在数据
|
||||
uint8_t eeprom_device_check(void);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -211,8 +211,8 @@ void key_functions_main(void)
|
|||
return;
|
||||
}
|
||||
|
||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
// m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
// m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
|
||||
keyset_output(1);
|
||||
}
|
||||
|
@ -319,8 +319,8 @@ void key_functions_main(void)
|
|||
return;
|
||||
}
|
||||
|
||||
m5data.twk_flag = 1; //上、下、左、右 任意一个键按下后,闪烁开始
|
||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
// m5data.twk_flag = 1; //上、下、左、右 任意一个键按下后,闪烁开始
|
||||
// m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
|
||||
//避免游标移动的瞬间,前一刻的数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
|
||||
set_nixie_cube(IO_OUTPUT, m5data.io_cursor, m5data.o_numbers[m5data.io_cursor]);
|
||||
|
@ -359,8 +359,8 @@ void key_functions_main(void)
|
|||
return;
|
||||
}
|
||||
|
||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
// m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
// m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
|
||||
//避免游标移动的瞬间,前一刻的数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
|
||||
set_nixie_cube(IO_OUTPUT, m5data.io_cursor, m5data.o_numbers[m5data.io_cursor]);
|
||||
|
@ -515,8 +515,8 @@ void key_functions_main(void)
|
|||
return;
|
||||
}
|
||||
|
||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
// m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
// m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
|
||||
keyset_output(-1);
|
||||
}
|
||||
|
@ -587,6 +587,7 @@ void scr_init_run(void)
|
|||
}
|
||||
}
|
||||
|
||||
//uint8_t ee_status_test = 0;
|
||||
void scr_main_run(void)
|
||||
{
|
||||
//实时更新设定值
|
||||
|
@ -605,7 +606,20 @@ void scr_main_run(void)
|
|||
input_value_show(); //500ms
|
||||
|
||||
//数值闪烁
|
||||
num_twinkle(); //1000ms
|
||||
//num_twinkle(); //1000ms
|
||||
|
||||
// EEPROM_CS_L;
|
||||
// delay_cnt(10);
|
||||
// eeprom_spi_writebyte(WRITE_ENABLE);
|
||||
// delay_cnt(10);
|
||||
// EEPROM_CS_H;
|
||||
|
||||
// EEPROM_CS_L;
|
||||
// delay_cnt(10);
|
||||
// eeprom_spi_writebyte(READ_STATUS);
|
||||
// ee_status_test = eeprom_spi_readbyte();
|
||||
// delay_cnt(10);
|
||||
// EEPROM_CS_H;
|
||||
}
|
||||
|
||||
void runtime_show(void)
|
||||
|
@ -1040,6 +1054,7 @@ void set_output(float32 sto)
|
|||
|
||||
//乘以1000用于绕开 int32 和 float32 之间的转换
|
||||
sto *= 1000;
|
||||
sto = round(sto);
|
||||
|
||||
//更新缓存
|
||||
set_output_array(sto);
|
||||
|
@ -1209,6 +1224,9 @@ void num_twinkle(void) //数值闪烁
|
|||
if(m5data.twk_flag == 0)
|
||||
{
|
||||
//不需要闪烁的情况下直接返回
|
||||
//防止空白残留
|
||||
set_nixie_cube(IO_OUTPUT, m5data.io_cursor, m5data.o_numbers[ m5data.io_cursor ]);
|
||||
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
@ -1366,9 +1384,9 @@ void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type)
|
|||
set_cursor_position();
|
||||
|
||||
//闪烁参数清零
|
||||
m5data.twk_flag = 0; //闪烁中止
|
||||
m5data.twk_cnt = 0; //闪烁计数清零
|
||||
m5data.twk_flip = 0; //0显示,1不显示
|
||||
// m5data.twk_flag = 0; //闪烁中止
|
||||
// m5data.twk_cnt = 0; //闪烁计数清零
|
||||
// m5data.twk_flip = 0; //0显示,1不显示
|
||||
//}
|
||||
|
||||
switch (mode)
|
||||
|
|
|
@ -31,10 +31,23 @@ void item0_data_init(void)
|
|||
tabdata.item0_page0_vunit = VOLTAGE_V; //电压单位
|
||||
tabdata.item0_page1_TCtype = TC_K; //默认为K类型的热电偶
|
||||
|
||||
|
||||
if(tabdata.item1_page0_resetflag != 1)
|
||||
{
|
||||
//判断eeprom内是否存在数据
|
||||
if(eeprom_device_check() == 1)
|
||||
{
|
||||
eeprom_dataread();
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
//eeprom_rd_error_flag = 1;
|
||||
|
||||
//读取过程中出现过错误
|
||||
if( eeprom_rd_error_flag )
|
||||
if( (eeprom_rd_error_flag == 1)||(tabdata.item1_page0_resetflag == 1) )
|
||||
{
|
||||
tabdata.item0_page0_vup[0] = VOL[0].up; //电压V上限
|
||||
tabdata.item0_page0_vlow[0] = VOL[0].low; //电压V下限
|
||||
|
@ -1844,6 +1857,10 @@ void scr_setting_run(void) //详细设置界面
|
|||
tabdata.item1_page0_resetflag = 2;
|
||||
|
||||
set_item1_text(DATA_RESET);
|
||||
|
||||
tabdata.item1_page0_saveflag = 0;
|
||||
|
||||
set_item1_text(DATA_SAVE);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -510,4 +510,58 @@ void eeprom_dataread(void)
|
|||
tabdata.item0_page2_RTDlow = ( temp_h << 8 ) + temp_l;
|
||||
}
|
||||
|
||||
//判断EEPROM内是否已存在数据
|
||||
uint8_t eeprom_device_check(void)
|
||||
{
|
||||
uint8_t device_status_h = 0, device_status_l = 0;
|
||||
int dev_sts = 0;
|
||||
|
||||
device_status_h = eeprom_readdata(DEVICE_CHECK);
|
||||
device_status_l = eeprom_readdata(DEVICE_CHECK + 8);
|
||||
dev_sts = (device_status_h << 8) + device_status_l;
|
||||
|
||||
if(dev_sts != 0xAAAA)
|
||||
{
|
||||
tabdata.item0_page0_vup[0] = VOL[0].up; //电压V上限
|
||||
tabdata.item0_page0_vlow[0] = VOL[0].low; //电压V下限
|
||||
tabdata.item0_page0_vup[1] = VOL[1].up; //电压mV上限
|
||||
tabdata.item0_page0_vlow[1] = VOL[1].low; //电压mV下限
|
||||
tabdata.item0_page0_cup = CUR.up; //电流上限
|
||||
tabdata.item0_page0_clow = CUR.low; //电流下限
|
||||
tabdata.item0_page0_rup = RES.up; //电阻上限
|
||||
tabdata.item0_page1_rlow = RES.low; //电阻下限
|
||||
tabdata.item0_page1_fup = FRE.up; //频率上限
|
||||
tabdata.item0_page1_flow = FRE.low; //频率下限
|
||||
tabdata.item0_page1_TCup[0] = TC[0].up; //TCK上限
|
||||
tabdata.item0_page1_TClow[0] = TC[0].low; //TCK下限
|
||||
tabdata.item0_page1_TCup[1] = TC[1].up; //TCS上限
|
||||
tabdata.item0_page1_TClow[1] = TC[1].low; //TCS下限
|
||||
tabdata.item0_page1_TCup[2] = TC[2].up; //TCN上限
|
||||
tabdata.item0_page1_TClow[2] = TC[2].low; //TCN下限
|
||||
tabdata.item0_page1_TCup[3] = TC[3].up; //TCB上限
|
||||
tabdata.item0_page1_TClow[3] = TC[3].low; //TCB下限
|
||||
tabdata.item0_page1_TCup[4] = TC[4].up; //TCE上限
|
||||
tabdata.item0_page1_TClow[4] = TC[4].low; //TCE下限
|
||||
tabdata.item0_page1_TCup[5] = TC[5].up; //TCJ上限
|
||||
tabdata.item0_page1_TClow[5] = TC[5].low; //TCJ下限
|
||||
tabdata.item0_page1_TCup[6] = TC[6].up; //TCR上限
|
||||
tabdata.item0_page1_TClow[6] = TC[6].low; //TCR下限
|
||||
tabdata.item0_page1_TCup[7] = TC[7].up; //TCT上限
|
||||
tabdata.item0_page1_TClow[7] = TC[7].low; //TCT下限
|
||||
tabdata.item0_page2_RTDup = RTD.up; //RTD上限
|
||||
tabdata.item0_page2_RTDlow = RTD.low; //RTD下限
|
||||
|
||||
eeprom_datasave();
|
||||
|
||||
eeprom_writedata(DEVICE_CHECK, 0xAA);
|
||||
eeprom_writedata(DEVICE_CHECK + 8, 0xAA);
|
||||
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue