存档:

1、EEPROM写入有将近50%的概率失败;
2、复位和保存时,语言选择的显示出现异常;
This commit is contained in:
吴俊潮 2025-07-24 13:17:35 +08:00
parent 6658d58ad7
commit 6512de6b98
10 changed files with 20366 additions and 20110 deletions

View File

@ -627,7 +627,8 @@ void deal_data_save(void)
else
{
save_cnt++;
if(save_cnt > 5)
eep_status_monitor();
if( (save_cnt > 5)&&( !(system_sts.eeprom_current_status & 0x01) ) )
{
save_cnt = 0;
@ -642,12 +643,31 @@ void deal_data_save(void)
tabdata.item3_page0_saveflag = 0;
}
setting_items_check(ITEM_NONE, tabdata.item_cursor);
tabdata.item_cursor = ITEM_3;
setting_items_check(tabdata.item_cursor, ITEM_NONE);
if(tabdata.item_cursor != ITEM_3)
{
//用于处理modbus触发的保存当前页面不一定处于ITEM3
//熄灭之前的选项卡和内容
setting_items_check(ITEM_NONE, tabdata.item_cursor);
setting_contents_check(99, tabdata.content_cursor);
//使能所有按键
key_config(KEY_ALL, KEY_STATUS_ENABLE);
//点亮ITEM3的SAVE
tabdata.item_cursor = ITEM_3;
tabdata.content_focus = 0;
setting_items_check(tabdata.item_cursor, ITEM_NONE);
tabdata.content_cursor = 2;
tabdata.content_cursor_prv = 2;
setting_contents_check(tabdata.content_cursor, 99);
current_operation = SET_CONTENT_MODIFY;
}
else
{
tabdata.content_focus = 0;
set_item3_text(DATA_SAVE);
}
//重新使能所需按键
key_config_update(current_operation);
save_step = 0;
}
@ -688,23 +708,43 @@ void deal_data_reset(void)
else
{
reset_cnt++;
if(reset_cnt > 5)
eep_status_monitor();
if( (reset_cnt > 5)&&( !(system_sts.eeprom_current_status & 0x01) ) )
{
reset_cnt = 0;
tabdata.item3_page0_resetflag = 2; //已复位
tabdata.item3_page0_saveflag = 0; //保存状态更改为“未保存”
//复位后语言可能发生改变,因此刷新选项卡与标题
setting_laguage_switch(tabdata.item3_page0_language);
title_item_refresh();
if(tabdata.item_cursor != ITEM_3)
{
//用于处理modbus触发的保存当前页面不一定处于ITEM3
//熄灭之前的选项卡和内容
setting_items_check(ITEM_NONE, tabdata.item_cursor);
setting_contents_check(99, tabdata.content_cursor);
//通过modbus触发时需要刷新一下选项卡的内容
setting_items_check(ITEM_NONE, tabdata.item_cursor);
tabdata.item_cursor = ITEM_3;
setting_items_check(tabdata.item_cursor, ITEM_NONE);
//点亮ITEM3的RESET
tabdata.item_cursor = ITEM_3;
tabdata.content_focus = 0;
setting_items_check(tabdata.item_cursor, ITEM_NONE);
tabdata.content_cursor = 3;
tabdata.content_cursor_prv = 3;
setting_contents_check(tabdata.content_cursor, 99);
//使能所有按键
key_config(KEY_ALL, KEY_STATUS_ENABLE);
//复位后语言可能发生改变,因此刷新选项卡与标题
setting_laguage_switch(tabdata.item3_page0_language);
title_item_refresh();
current_operation = SET_CONTENT_MODIFY;
}
else
{
tabdata.content_focus = 0;
set_item3_text(DATA_RESET);
set_item3_text(DATA_SAVE);
}
//重新使能所需按键
key_config_update(current_operation);
reset_step = 0;
}

View File

@ -211,6 +211,7 @@ uint8_t eeprom_readdata(int32_t addr_long)
}
//保存修改过的数据
uint8_t new_device = 0;
void eeprom_datasave_changed(void)
{
TABVIEW_DATA tab_temp;
@ -219,7 +220,7 @@ void eeprom_datasave_changed(void)
eeprom_dataread();
if( (tab_temp.item0_page0_vup[0] != tabdata.item0_page0_vup[0])||(tab_temp.item0_page0_vlow[0] != tabdata.item0_page0_vlow[0])||\
(tab_temp.item0_page0_vup[1] != tabdata.item0_page0_vup[1])||(tab_temp.item0_page0_vlow[1] != tabdata.item0_page0_vlow[1]) )
(tab_temp.item0_page0_vup[1] != tabdata.item0_page0_vup[1])||(tab_temp.item0_page0_vlow[1] != tabdata.item0_page0_vlow[1])||new_device )
{
tabdata.item0_page0_vup[0] = tab_temp.item0_page0_vup[0];
tabdata.item0_page0_vlow[0] = tab_temp.item0_page0_vlow[0];
@ -229,7 +230,7 @@ void eeprom_datasave_changed(void)
eeprom_datasave_single(EEPROM_TAG_VOLTAGE);
}
if( (tab_temp.item0_page0_cup != tabdata.item0_page0_cup)||(tab_temp.item0_page0_clow != tabdata.item0_page0_clow) )
if( (tab_temp.item0_page0_cup != tabdata.item0_page0_cup)||(tab_temp.item0_page0_clow != tabdata.item0_page0_clow)||new_device )
{
tabdata.item0_page0_cup = tab_temp.item0_page0_cup;
tabdata.item0_page0_clow = tab_temp.item0_page0_clow;
@ -237,7 +238,7 @@ void eeprom_datasave_changed(void)
eeprom_datasave_single(EEPROM_TAG_CURRENT);
}
if( (tab_temp.item0_page0_rup != tabdata.item0_page0_rup)||(tab_temp.item0_page1_rlow != tabdata.item0_page1_rlow) )
if( (tab_temp.item0_page0_rup != tabdata.item0_page0_rup)||(tab_temp.item0_page1_rlow != tabdata.item0_page1_rlow)||new_device )
{
tabdata.item0_page0_rup = tab_temp.item0_page0_rup;
tabdata.item0_page1_rlow = tab_temp.item0_page1_rlow;
@ -245,7 +246,7 @@ void eeprom_datasave_changed(void)
eeprom_datasave_single(EEPROM_TAG_RESISTANCE);
}
if( (tab_temp.item0_page1_fup != tabdata.item0_page1_fup)||(tab_temp.item0_page1_flow != tabdata.item0_page1_flow) )
if( (tab_temp.item0_page1_fup != tabdata.item0_page1_fup)||(tab_temp.item0_page1_flow != tabdata.item0_page1_flow)||new_device )
{
tabdata.item0_page1_fup = tab_temp.item0_page1_fup;
tabdata.item0_page1_flow = tab_temp.item0_page1_flow;
@ -255,7 +256,7 @@ void eeprom_datasave_changed(void)
for(uint8_t i = 0 ; i < 8; i++)
{
if( (tab_temp.item0_page1_TCup[i] != tabdata.item0_page1_TCup[i])||(tab_temp.item0_page1_TClow[i] != tabdata.item0_page1_TClow[i]) )
if( (tab_temp.item0_page1_TCup[i] != tabdata.item0_page1_TCup[i])||(tab_temp.item0_page1_TClow[i] != tabdata.item0_page1_TClow[i])||new_device )
{
tabdata.item0_page1_TCup[i] = tab_temp.item0_page1_TCup[i];
tabdata.item0_page1_TClow[i] = tab_temp.item0_page1_TClow[i];
@ -265,7 +266,7 @@ void eeprom_datasave_changed(void)
}
}
if( (tab_temp.item0_page2_RTDup != tabdata.item0_page2_RTDup)||(tab_temp.item0_page2_RTDlow != tabdata.item0_page2_RTDlow) )
if( (tab_temp.item0_page2_RTDup != tabdata.item0_page2_RTDup)||(tab_temp.item0_page2_RTDlow != tabdata.item0_page2_RTDlow)||new_device )
{
tabdata.item0_page2_RTDup = tab_temp.item0_page2_RTDup;
tabdata.item0_page2_RTDlow = tab_temp.item0_page2_RTDlow;
@ -273,35 +274,35 @@ void eeprom_datasave_changed(void)
eeprom_datasave_single(EEPROM_TAG_RTD);
}
if(tab_temp.item1_page0_sample_interval != tabdata.item1_page0_sample_interval)
if( (tab_temp.item1_page0_sample_interval != tabdata.item1_page0_sample_interval)||new_device )
{
tabdata.item1_page0_sample_interval = tab_temp.item1_page0_sample_interval;
eeprom_datasave_single(EEPROM_TAG_SAMPLE_INTERVAL);
}
if(tab_temp.item1_page0_plot_num != tabdata.item1_page0_plot_num)
if( (tab_temp.item1_page0_plot_num != tabdata.item1_page0_plot_num)||new_device )
{
tabdata.item1_page0_plot_num = tab_temp.item1_page0_plot_num;
eeprom_datasave_single(EEPROM_TAG_PLOT_COUNT);
}
if(tab_temp.item1_page0_color_input != tabdata.item1_page0_color_input)
if( (tab_temp.item1_page0_color_input != tabdata.item1_page0_color_input)||new_device )
{
tabdata.item1_page0_color_input = tab_temp.item1_page0_color_input;
eeprom_datasave_single(EEPROM_TAG_INPUT_COLOR);
}
if(tab_temp.item1_page0_color_output != tabdata.item1_page0_color_output)
if( (tab_temp.item1_page0_color_output != tabdata.item1_page0_color_output)||new_device )
{
tabdata.item1_page0_color_output = tab_temp.item1_page0_color_output;
eeprom_datasave_single(EEPROM_TAG_OUTPUT_COLOR);
}
if(tab_temp.item3_page0_language != tabdata.item3_page0_language)
if( (tab_temp.item3_page0_language != tabdata.item3_page0_language)||new_device )
{
tabdata.item3_page0_language = tab_temp.item3_page0_language;
@ -1146,6 +1147,8 @@ uint8_t eeprom_device_check(void)
if(dev_sts != 0xAAAA)
{
new_device = 1;
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上限
@ -1185,6 +1188,7 @@ uint8_t eeprom_device_check(void)
eeprom_writedata(DEVICE_CHECK, 0xAA);
eeprom_writedata(DEVICE_CHECK + 8, 0xAA);
new_device = 0;
return 0;
}

View File

@ -70,7 +70,7 @@ void hc138_channel_test(void)
uint8_t i;
for (i = 0; i < 10; i++)
{
HC138_SEL_CH(i);
//HC138_SEL_CH(i);
vTaskDelay(3000);
}
vTaskDelay(3000);
@ -233,10 +233,12 @@ void mux_signal_switch(st_mux_signal *mux_signal)
else
{
mux_set_flag = 1;
if((mux_signal->channel != ch_prv))
{
//通道改变时切换通道
HC138_SEL_CH(mux_signal->channel);
//HC138_SEL_CH(mux_signal->channel);
mux_channel_switch(mux_signal->channel);
ch_prv = mux_signal->channel;
}
@ -384,4 +386,155 @@ void frequence_output(uint32_t freq, uint8_t pulse, uint8_t pwm_select)
}
}
void mux_channel_switch(CHANNEL cha)
{
switch (cha)
{
case CH0_OUT_VOL_V:
{
//高电平使能拉低指定通道低电平关闭8路通道全部拉高
HC138_G1_SET(GPIO_PIN_SET);
//SW0, 000
HC138_A2_SET(GPIO_PIN_RESET);
HC138_A1_SET(GPIO_PIN_RESET);
HC138_A0_SET(GPIO_PIN_RESET);
}
break;
case CH1_OUT_VOL_MV:
{
//高电平使能拉低指定通道低电平关闭8路通道全部拉高
HC138_G1_SET(GPIO_PIN_SET);
//SW1, 001
HC138_A2_SET(GPIO_PIN_RESET);
HC138_A1_SET(GPIO_PIN_RESET);
HC138_A0_SET(GPIO_PIN_SET);
}
break;
case CH2_OUT_CUR:
{
//高电平使能拉低指定通道低电平关闭8路通道全部拉高
HC138_G1_SET(GPIO_PIN_SET);
//SW2, 010
HC138_A2_SET(GPIO_PIN_RESET);
HC138_A1_SET(GPIO_PIN_SET);
HC138_A0_SET(GPIO_PIN_RESET);
}
break;
case CH3_OUT_FRE:
{
//高电平使能拉低指定通道低电平关闭8路通道全部拉高
HC138_G1_SET(GPIO_PIN_SET);
//SW3, 011
HC138_A2_SET(GPIO_PIN_RESET);
HC138_A1_SET(GPIO_PIN_SET);
HC138_A0_SET(GPIO_PIN_SET);
}
break;
case CH4_OUT_RES:
{
//关闭HC138
HC138_G1_SET(GPIO_PIN_RESET);
//关闭 RELAY_2 和 RELAY_3
RELAY_2_SET(GPIO_PIN_SET);
RELAY_3_SET(GPIO_PIN_SET);
//打开RELAY_1
RELAY_1_SET(GPIO_PIN_RESET);
}
break;
case CH5_EMPTY:
{}
break;
case CH6_IN_VOL:
{
//高电平使能拉低指定通道低电平关闭8路通道全部拉高
HC138_G1_SET(GPIO_PIN_SET);
//SW4, 100
HC138_A2_SET(GPIO_PIN_SET);
HC138_A1_SET(GPIO_PIN_RESET);
HC138_A0_SET(GPIO_PIN_RESET);
}
break;
case CH7_IN_MVOL:
{
//高电平使能拉低指定通道低电平关闭8路通道全部拉高
HC138_G1_SET(GPIO_PIN_SET);
//SW5, 101
HC138_A2_SET(GPIO_PIN_SET);
HC138_A1_SET(GPIO_PIN_RESET);
HC138_A0_SET(GPIO_PIN_SET);
}
break;
case CH8_IN_CUR:
{
//高电平使能拉低指定通道低电平关闭8路通道全部拉高
HC138_G1_SET(GPIO_PIN_SET);
//SW6, 110
HC138_A2_SET(GPIO_PIN_SET);
HC138_A1_SET(GPIO_PIN_SET);
HC138_A0_SET(GPIO_PIN_RESET);
}
break;
case CH9_IN_FRE:
{
//高电平使能拉低指定通道低电平关闭8路通道全部拉高
HC138_G1_SET(GPIO_PIN_SET);
//SW7, 111
HC138_A2_SET(GPIO_PIN_SET);
HC138_A1_SET(GPIO_PIN_SET);
HC138_A0_SET(GPIO_PIN_SET);
}
break;
case CH10_IN_RTD:
{
//关闭HC138
HC138_G1_SET(GPIO_PIN_RESET);
//关闭 RELAY_1 和 RELAY_3
RELAY_1_SET(GPIO_PIN_SET);
RELAY_3_SET(GPIO_PIN_SET);
//打开RELAY_2
RELAY_2_SET(GPIO_PIN_RESET);
}
break;
case CH11_IN_TC:
{
//关闭HC138
HC138_G1_SET(GPIO_PIN_RESET);
//关闭 RELAY_1 和 RELAY_2
RELAY_1_SET(GPIO_PIN_SET);
RELAY_2_SET(GPIO_PIN_SET);
//打开RELAY_1
RELAY_3_SET(GPIO_PIN_RESET);
}
break;
default:
break;
}
}

View File

@ -22,6 +22,15 @@
#define CALIBRATE_VOL_MV_IN_POINTS 11
#define CALIBRATE_RES_OHM_IN_POINTS 11
#define HC138_G1_SET(G1_STATE) HAL_GPIO_WritePin(G1_GPIO_Port, G1_Pin, G1_STATE);
#define HC138_A0_SET(A0_STATE) HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, A0_STATE)
#define HC138_A1_SET(A1_STATE) HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, A1_STATE)
#define HC138_A2_SET(A2_STATE) HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, A2_STATE)
#define RELAY_1_SET(R1_STATE) HAL_GPIO_WritePin(RELAY_IN1_GPIO_Port, RELAY_IN1_Pin, R1_STATE)
#define RELAY_2_SET(R2_STATE) HAL_GPIO_WritePin(RELAY_IN2_GPIO_Port, RELAY_IN2_Pin, R2_STATE)
#define RELAY_3_SET(R3_STATE) HAL_GPIO_WritePin(RELAY_IN3_GPIO_Port, RELAY_IN3_Pin, R3_STATE)
typedef enum
{
CH0_OUT_VOL_V = 0,
@ -100,6 +109,11 @@ void frequence_output(uint32_t freq, uint8_t pulse, uint8_t pwm_select);
//加载校准所需的参数EEPROM读取
void load_calibrate_data(void);
//处理校准事件EEPROM写入
void deal_calibrate_affair(void);
//通道切换旧版在gpio.h内已被注释
void mux_channel_switch(CHANNEL cha);
#endif

View File

@ -61,104 +61,104 @@ extern "C" {
#define HART_RTS(SEND) HAL_GPIO_WritePin(HART_RTS_GPIO_Port, HART_RTS_Pin, SEND)
#define HC138_SEL_CH(CH) \
do \
{ \
HAL_GPIO_WritePin(G1_GPIO_Port, G1_Pin, GPIO_PIN_SET); \
if (CH < 5) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
} \
else \
{ \
HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_SET); \
} \
if (CH == 0) \
{ \
HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 1) \
{ \
HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 2) \
{ \
HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 3) \
{ \
HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 4) \
{ \
HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_SET); \
} \
else if (CH == 5) \
{ \
} \
else if (CH == 6) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 7) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 8) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 9) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 10) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
} \
else if (CH == 11) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
} \
else if (CH == 12) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
} \
else if (CH == 13) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
} \
} while (0)
// #define HC138_SEL_CH(CH) \
// do \
// { \
// HAL_GPIO_WritePin(G1_GPIO_Port, G1_Pin, GPIO_PIN_SET); \
// if (CH < 5) \
// { \
// HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
// } \
// else \
// { \
// HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_SET); \
// } \
// if (CH == 0) \
// { \
// HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_RESET); \
// } \
// else if (CH == 1) \
// { \
// HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_RESET); \
// } \
// else if (CH == 2) \
// { \
// HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_RESET); \
// } \
// else if (CH == 3) \
// { \
// HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_RESET); \
// } \
// else if (CH == 4) \
// { \
// HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_SET); \
// } \
// else if (CH == 5) \
// { \
// } \
// else if (CH == 6) \
// { \
// HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_RESET); \
// } \
// else if (CH == 7) \
// { \
// HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_RESET); \
// } \
// else if (CH == 8) \
// { \
// HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_RESET); \
// } \
// else if (CH == 9) \
// { \
// HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_RESET); \
// } \
// else if (CH == 10) \
// { \
// HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
// } \
// else if (CH == 11) \
// { \
// HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
// } \
// else if (CH == 12) \
// { \
// HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_RESET); \
// HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
// } \
// else if (CH == 13) \
// { \
// HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
// HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
// } \
// } while (0)
#define DAC8552_SYNC(SYNC) HAL_GPIO_WritePin(DAC8552_SYNC_GPIO_Port, DAC8552_SYNC_Pin, SYNC)

View File

@ -91,12 +91,12 @@ void Error_Handler(void);
#define ADS1220_MOSI_GPIO_Port GPIOA
#define ADS1220_CS_Pin GPIO_PIN_4
#define ADS1220_CS_GPIO_Port GPIOC
#define INPUT_A2_1_Pin GPIO_PIN_5
#define INPUT_A2_1_GPIO_Port GPIOC
#define RELAY_IN3_Pin GPIO_PIN_5
#define RELAY_IN3_GPIO_Port GPIOC
#define FREQ_IN_Pin GPIO_PIN_1
#define FREQ_IN_GPIO_Port GPIOB
#define INPUT_A1_1_Pin GPIO_PIN_2
#define INPUT_A1_1_GPIO_Port GPIOB
#define RELAY_IN2_Pin GPIO_PIN_2
#define RELAY_IN2_GPIO_Port GPIOB
#define LCD_DB4_Pin GPIO_PIN_7
#define LCD_DB4_GPIO_Port GPIOE
#define LCD_DB5_Pin GPIO_PIN_8
@ -105,8 +105,8 @@ void Error_Handler(void);
#define LCD_DB6_GPIO_Port GPIOE
#define LCD_DB7_Pin GPIO_PIN_10
#define LCD_DB7_GPIO_Port GPIOE
#define INPUT_A0_1_Pin GPIO_PIN_11
#define INPUT_A0_1_GPIO_Port GPIOE
#define RELAY_IN1_Pin GPIO_PIN_11
#define RELAY_IN1_GPIO_Port GPIOE
#define INPUT_A2_Pin GPIO_PIN_12
#define INPUT_A2_GPIO_Port GPIOE
#define HART_4608_Pin GPIO_PIN_13

View File

@ -54,17 +54,17 @@ void MX_GPIO_Init(void)
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOE, PWR_EN_Pin|PWR_IN_Pin|LCD_DB4_Pin|LCD_DB5_Pin
|LCD_DB6_Pin|LCD_DB7_Pin|INPUT_A0_1_Pin|INPUT_A2_Pin
|LCD_DB6_Pin|LCD_DB7_Pin|RELAY_IN1_Pin|INPUT_A2_Pin
|INPUT_A0_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOC, light_Pin|BUZZER_Pin|INPUT_A2_1_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOC, light_Pin|BUZZER_Pin|RELAY_IN3_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOC, ADS1220_CS_Pin|BLE_RSTN_Pin, GPIO_PIN_SET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB, INPUT_A1_1_Pin|EM_CS_Pin|G1_Pin|DAC7811_SYNC_Pin
HAL_GPIO_WritePin(GPIOB, RELAY_IN2_Pin|EM_CS_Pin|G1_Pin|DAC7811_SYNC_Pin
|EEPROM_SCLK_Pin|EEPROM_MOSI_Pin|EEPROM_CS_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
@ -81,10 +81,8 @@ void MX_GPIO_Init(void)
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOA, TEMP_Pin|HART_RTS_Pin|DAC_CS_Pin, GPIO_PIN_RESET);
/*Configure GPIO pins : PEPin PEPin PEPin PEPin
PEPin PEPin */
GPIO_InitStruct.Pin = PWR_EN_Pin|PWR_IN_Pin|INPUT_A0_1_Pin|INPUT_A2_Pin
|INPUT_A1_Pin|INPUT_A0_Pin;
/*Configure GPIO pins : PEPin PEPin */
GPIO_InitStruct.Pin = PWR_EN_Pin|PWR_IN_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
@ -97,8 +95,8 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(light_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : PCPin PCPin PCPin PCPin */
GPIO_InitStruct.Pin = BUZZER_Pin|ADS1220_CS_Pin|INPUT_A2_1_Pin|BLE_RSTN_Pin;
/*Configure GPIO pins : PCPin PCPin PCPin */
GPIO_InitStruct.Pin = BUZZER_Pin|ADS1220_CS_Pin|BLE_RSTN_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
@ -116,12 +114,19 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(ADS1220_DRDY_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : PBPin PBPin PBPin PBPin */
GPIO_InitStruct.Pin = INPUT_A1_1_Pin|EM_CS_Pin|G1_Pin|DAC7811_SYNC_Pin;
/*Configure GPIO pin : PtPin */
GPIO_InitStruct.Pin = RELAY_IN3_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
HAL_GPIO_Init(RELAY_IN3_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pin : PtPin */
GPIO_InitStruct.Pin = RELAY_IN2_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
HAL_GPIO_Init(RELAY_IN2_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : PEPin PEPin PEPin PEPin */
GPIO_InitStruct.Pin = LCD_DB4_Pin|LCD_DB5_Pin|LCD_DB6_Pin|LCD_DB7_Pin;
@ -130,6 +135,22 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
/*Configure GPIO pins : PEPin PEPin PEPin PEPin */
GPIO_InitStruct.Pin = RELAY_IN1_Pin|INPUT_A2_Pin|INPUT_A1_Pin|INPUT_A0_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
/*Configure GPIO pins : PBPin PBPin PBPin PBPin
PBPin PBPin */
GPIO_InitStruct.Pin = EM_CS_Pin|G1_Pin|DAC7811_SYNC_Pin|EEPROM_SCLK_Pin
|EEPROM_MOSI_Pin|EEPROM_CS_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/*Configure GPIO pin : PtPin */
GPIO_InitStruct.Pin = DAC8552_SYNC_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
@ -172,7 +193,7 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Pin = HART_RTS_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
HAL_GPIO_Init(HART_RTS_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pin : PtPin */
@ -182,13 +203,6 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(EEPROM_WR_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : PBPin PBPin PBPin */
GPIO_InitStruct.Pin = EEPROM_SCLK_Pin|EEPROM_MOSI_Pin|EEPROM_CS_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/*Configure GPIO pin : PtPin */
GPIO_InitStruct.Pin = EEPROM_MISO_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;

View File

@ -1204,7 +1204,7 @@
<Group>
<GroupName>EEPROM</GroupName>
<tvExp>0</tvExp>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>

File diff suppressed because it is too large Load Diff

View File

@ -262,10 +262,11 @@ PA11.GPIOParameters=GPIO_Label
PA11.GPIO_Label=TEMP
PA11.Locked=true
PA11.Signal=GPIO_Output
PA12.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultOutputPP
PA12.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultOutputPP
PA12.GPIO_Label=HART_RTS
PA12.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_OD
PA12.GPIO_PuPd=GPIO_PULLUP
PA12.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA12.Locked=true
PA12.Signal=GPIO_Output
PA13.Mode=Serial_Wire
@ -345,13 +346,14 @@ PB15.GPIOParameters=GPIO_Label
PB15.GPIO_Label=DAC7811_SYNC
PB15.Locked=true
PB15.Signal=GPIO_Output
PB2.GPIOParameters=GPIO_Label
PB2.GPIO_Label=INPUT_A1_1
PB2.GPIOParameters=GPIO_Speed,GPIO_Label
PB2.GPIO_Label=RELAY_IN2
PB2.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
PB2.Locked=true
PB2.Signal=GPIO_Output
PB3.GPIOParameters=GPIO_Speed,GPIO_Label
PB3.GPIO_Label=EEPROM_SCLK
PB3.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
PB3.GPIO_Speed=GPIO_SPEED_FREQ_LOW
PB3.Locked=true
PB3.Signal=GPIO_Output
PB4.GPIOParameters=GPIO_PuPd,GPIO_Label
@ -361,7 +363,7 @@ PB4.Locked=true
PB4.Signal=GPIO_Input
PB5.GPIOParameters=GPIO_Speed,GPIO_Label
PB5.GPIO_Label=EEPROM_MOSI
PB5.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
PB5.GPIO_Speed=GPIO_SPEED_FREQ_LOW
PB5.Locked=true
PB5.Signal=GPIO_Output
PB6.GPIOParameters=GPIO_Label
@ -376,7 +378,7 @@ PB7.Mode=I2C
PB7.Signal=I2C1_SDA
PB9.GPIOParameters=GPIO_Speed,GPIO_Label
PB9.GPIO_Label=EEPROM_CS
PB9.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
PB9.GPIO_Speed=GPIO_SPEED_FREQ_LOW
PB9.Locked=true
PB9.Signal=GPIO_Output
PC0.GPIOParameters=PinState,GPIO_Label
@ -431,8 +433,9 @@ PC4.GPIO_PuPd=GPIO_NOPULL
PC4.Locked=true
PC4.PinState=GPIO_PIN_SET
PC4.Signal=GPIO_Output
PC5.GPIOParameters=GPIO_Label
PC5.GPIO_Label=INPUT_A2_1
PC5.GPIOParameters=GPIO_Speed,GPIO_Label
PC5.GPIO_Label=RELAY_IN3
PC5.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
PC5.Locked=true
PC5.Signal=GPIO_Output
PC6.GPIOParameters=GPIO_Label
@ -503,8 +506,9 @@ PD5.GPIO_Label=LCD_WR
PD5.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PD5.Locked=true
PD5.Signal=GPIO_Output
PD6.GPIOParameters=GPIO_Label
PD6.GPIOParameters=GPIO_Speed,GPIO_Label
PD6.GPIO_Label=EEPROM_WR
PD6.GPIO_Speed=GPIO_SPEED_FREQ_LOW
PD6.Locked=true
PD6.Signal=GPIO_Output
PD7.GPIOParameters=GPIO_Speed,GPIO_Label
@ -522,12 +526,14 @@ PE10.GPIO_Label=LCD_DB7
PE10.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PE10.Locked=true
PE10.Signal=GPIO_Output
PE11.GPIOParameters=GPIO_Label
PE11.GPIO_Label=INPUT_A0_1
PE11.GPIOParameters=GPIO_Speed,GPIO_Label
PE11.GPIO_Label=RELAY_IN1
PE11.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
PE11.Locked=true
PE11.Signal=GPIO_Output
PE12.GPIOParameters=GPIO_Label
PE12.GPIOParameters=GPIO_Speed,GPIO_Label
PE12.GPIO_Label=INPUT_A2
PE12.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
PE12.Locked=true
PE12.Signal=GPIO_Output
PE13.GPIOParameters=GPIO_PuPd,GPIO_Label
@ -535,13 +541,15 @@ PE13.GPIO_Label=HART_4608
PE13.GPIO_PuPd=GPIO_PULLUP
PE13.Locked=true
PE13.Signal=S_TIM1_CH3
PE14.GPIOParameters=PinState,GPIO_Label
PE14.GPIOParameters=GPIO_Speed,PinState,GPIO_Label
PE14.GPIO_Label=INPUT_A1
PE14.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
PE14.Locked=true
PE14.PinState=GPIO_PIN_SET
PE14.Signal=GPIO_Output
PE15.GPIOParameters=GPIO_Label
PE15.GPIOParameters=GPIO_Speed,GPIO_Label
PE15.GPIO_Label=INPUT_A0
PE15.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
PE15.Locked=true
PE15.Signal=GPIO_Output
PE2.GPIOParameters=GPIO_Label