更新:
1、寄存器配置地址封装为宏定义; 2、额外编写的操作线圈寄存器数值的函数; 3、本地交互与上位机交互应当分开,目前进度:线圈寄存器上位机交互,主界面开关和照明控制完成;
This commit is contained in:
parent
6a6cd5eee2
commit
8c6c7c3618
|
@ -92,12 +92,13 @@ extern SIG_TRANSMISSION sig_trans; //通讯模式
|
|||
//绝对值计算
|
||||
#define MY_ABS(pa) ( ( (pa) >= 0 )?( (pa) ):( 0 - (pa) ) )
|
||||
|
||||
#define LVGL_TASK_PERIOD 5 //LVGL任务周期
|
||||
#define MENU_TASK_PERIOD 300 //显示内容设置周期
|
||||
#define BLE_TASK_PERIOD 10 //蓝牙任务周期
|
||||
#define HART_TASK_PERIOD 10 //HART任务周期
|
||||
#define RS485_TASK_PERIOD 10 //485任务周期
|
||||
#define MUX_TASK_PERIOD 50 //多通道输入输出任务周期
|
||||
#define MUX_TASK_PERIOD 50 //多通道输入输出任务周期
|
||||
#define LVGL_TASK_PERIOD 5 //LVGL任务周期
|
||||
#define MENU_TASK_PERIOD 300 //显示内容设置周期
|
||||
#define BLE_TASK_PERIOD 100 //蓝牙任务周期
|
||||
#define HART_TASK_PERIOD 100 //HART任务周期
|
||||
#define RS485_TASK_PERIOD MUX_TASK_PERIOD //485任务周期
|
||||
|
||||
|
||||
//屏幕显示
|
||||
void screen_run(void);
|
||||
|
|
|
@ -253,8 +253,8 @@ typedef struct
|
|||
|
||||
//ITEMS_0
|
||||
SIG_FUNCTIONS_TYPE item0_page0_vunit; //电压单位
|
||||
int16_t item0_page0_vup[2]; //电压上限
|
||||
int16_t item0_page0_vlow[2]; //电压下限
|
||||
int16_t item0_page0_vup[2]; //电压上限, 0:V,1:mV
|
||||
int16_t item0_page0_vlow[2]; //电压下限, 0:V,1:mV
|
||||
uint8_t item0_page0_cup; //电流上限
|
||||
uint8_t item0_page0_clow; //电流下限
|
||||
int16_t item0_page0_rup; //电阻上限
|
||||
|
|
|
@ -846,6 +846,10 @@ void io_on2off_status(void)
|
|||
{
|
||||
lv_label_set_text(guider_ui.screen_main_label_ONOFF, "ON");
|
||||
|
||||
//D0位置1
|
||||
//CoilState[0] |= 0x01;
|
||||
set_coil_val(COIL_ADDR_ON_OFF, 1);
|
||||
|
||||
switch (menu_data.io_mode)
|
||||
{
|
||||
case IO_OUTPUT:
|
||||
|
@ -874,6 +878,10 @@ void io_on2off_status(void)
|
|||
{
|
||||
lv_label_set_text(guider_ui.screen_main_label_ONOFF, "OFF");
|
||||
|
||||
//D0位置0
|
||||
//CoilState[0] &= 0xFE;
|
||||
set_coil_val(COIL_ADDR_ON_OFF, 0);
|
||||
|
||||
switch (menu_data.io_mode)
|
||||
{
|
||||
case IO_OUTPUT:
|
||||
|
@ -1103,6 +1111,43 @@ void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type)
|
|||
|
||||
switch (mode)
|
||||
{
|
||||
//电流
|
||||
case SIG_CURRENT:
|
||||
{
|
||||
switch (tabdata.item3_page0_language)
|
||||
{
|
||||
case MENU_SIMPLYFY_CHINESE:
|
||||
{
|
||||
lv_label_set_text(guider_ui.screen_main_label_Mode, "电流");
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_ENGLISH:
|
||||
{
|
||||
lv_label_set_text(guider_ui.screen_main_label_Mode, "Cur");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case CURRENT_MA:
|
||||
{
|
||||
lv_label_set_text(guider_ui.screen_main_label_unit, "mA");
|
||||
|
||||
up2down_update(tabdata.item0_page0_clow, tabdata.item0_page0_cup);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
//电压
|
||||
case SIG_VOLTAGE:
|
||||
{
|
||||
|
@ -1149,43 +1194,6 @@ void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type)
|
|||
}
|
||||
break;
|
||||
|
||||
//电流
|
||||
case SIG_CURRENT:
|
||||
{
|
||||
switch (tabdata.item3_page0_language)
|
||||
{
|
||||
case MENU_SIMPLYFY_CHINESE:
|
||||
{
|
||||
lv_label_set_text(guider_ui.screen_main_label_Mode, "电流");
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_ENGLISH:
|
||||
{
|
||||
lv_label_set_text(guider_ui.screen_main_label_Mode, "Cur");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case CURRENT_MA:
|
||||
{
|
||||
lv_label_set_text(guider_ui.screen_main_label_unit, "mA");
|
||||
|
||||
up2down_update(tabdata.item0_page0_clow, tabdata.item0_page0_cup);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
//电阻
|
||||
case SIG_RESISTANT:
|
||||
{
|
||||
|
|
|
@ -603,7 +603,6 @@ void scr_setting_run(void) //详细设置界面
|
|||
|
||||
//处理复位事件
|
||||
deal_data_reset();
|
||||
|
||||
}
|
||||
|
||||
//执行保存功能
|
||||
|
@ -612,6 +611,10 @@ void deal_data_save(void)
|
|||
{
|
||||
if(tabdata.item3_page0_saveflag == 1)
|
||||
{
|
||||
//D2位置1
|
||||
//CoilState[0] |= 0x04;
|
||||
set_coil_val(COIL_ADDR_CONFIG_SAVE, 1);
|
||||
|
||||
if(save_step == 0)
|
||||
{
|
||||
save_step = 1;
|
||||
|
@ -648,7 +651,12 @@ void deal_data_save(void)
|
|||
save_step = 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//D2位置0
|
||||
//CoilState[0] &= 0xFB;
|
||||
set_coil_val(COIL_ADDR_CONFIG_SAVE, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -658,6 +666,10 @@ void deal_data_reset(void)
|
|||
{
|
||||
if(tabdata.item3_page0_resetflag == 1)
|
||||
{
|
||||
//D3位置1
|
||||
//CoilState[0] |= 0x08;
|
||||
set_coil_val(COIL_ADDR_CONFIG_RESET, 1);
|
||||
|
||||
if(reset_step == 0)
|
||||
{
|
||||
reset_step = 1;
|
||||
|
@ -697,6 +709,12 @@ void deal_data_reset(void)
|
|||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//D3位置0
|
||||
//CoilState[0] &= 0xF7;
|
||||
set_coil_val(COIL_ADDR_CONFIG_RESET, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -157,7 +157,7 @@ void screen_run(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
//播放过开机动画之后,跳转至主界面
|
||||
//播放过开机动画之后,跳转至指定界面
|
||||
switch (menu_data.scr_now)
|
||||
{
|
||||
case SCREEN_MAIN:
|
||||
|
@ -202,6 +202,12 @@ void sig_channel_select(uint8_t io, SIG_FUNCTIONS_TYPE type)
|
|||
{
|
||||
switch (type)
|
||||
{
|
||||
case CURRENT_MA:
|
||||
{
|
||||
mux_signal.channel = CH8_IN_CUR;
|
||||
}
|
||||
break;
|
||||
|
||||
case VOLTAGE_MV:
|
||||
{
|
||||
mux_signal.channel = CH7_IN_MVOL;
|
||||
|
@ -214,12 +220,6 @@ void sig_channel_select(uint8_t io, SIG_FUNCTIONS_TYPE type)
|
|||
}
|
||||
break;
|
||||
|
||||
case CURRENT_MA:
|
||||
{
|
||||
mux_signal.channel = CH8_IN_CUR;
|
||||
}
|
||||
break;
|
||||
|
||||
case RESISTANT_OHM:
|
||||
{
|
||||
//与热电阻一致
|
||||
|
@ -297,6 +297,12 @@ void sig_channel_select(uint8_t io, SIG_FUNCTIONS_TYPE type)
|
|||
{
|
||||
switch (type)
|
||||
{
|
||||
case CURRENT_MA:
|
||||
{
|
||||
mux_signal.channel = CH2_OUT_CUR;
|
||||
}
|
||||
break;
|
||||
|
||||
case VOLTAGE_MV:
|
||||
{
|
||||
mux_signal.channel = CH1_OUT_VOL_MV;
|
||||
|
@ -309,12 +315,6 @@ void sig_channel_select(uint8_t io, SIG_FUNCTIONS_TYPE type)
|
|||
}
|
||||
break;
|
||||
|
||||
case CURRENT_MA:
|
||||
{
|
||||
mux_signal.channel = CH2_OUT_CUR;
|
||||
}
|
||||
break;
|
||||
|
||||
case RESISTANT_OHM:
|
||||
{
|
||||
mux_signal.channel = CH4_OUT_RES;
|
||||
|
|
|
@ -342,11 +342,19 @@ void set_item3_value(ITEM_CONTENTS con, int8_t step)
|
|||
{
|
||||
tabdata.item3_page0_lightflag = 0;
|
||||
LIGHT_OFF;
|
||||
|
||||
//D1位置0
|
||||
//CoilState[0] &= 0xFD;
|
||||
set_coil_val(COIL_ADDR_LIGHT, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
tabdata.item3_page0_lightflag = 1;
|
||||
LIGHT_ON;
|
||||
|
||||
//D1位置1
|
||||
CoilState[0] |= 0x02;
|
||||
set_coil_val(COIL_ADDR_LIGHT, 1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -3,6 +3,34 @@
|
|||
|
||||
#include "apps_gather.h"
|
||||
|
||||
//自定义线圈寄存器地址
|
||||
#define COIL_ADDR_ON_OFF 0x00
|
||||
#define COIL_ADDR_LIGHT 0x01
|
||||
#define COIL_ADDR_CONFIG_SAVE 0x02
|
||||
#define COIL_ADDR_CONFIG_RESET 0x03
|
||||
|
||||
//自定义离散状态寄存器地址
|
||||
|
||||
//自定义保持寄存器地址
|
||||
#define HOLD_ADDR_SET_WORK_MODE 0x00
|
||||
#define HOLD_ADDR_MUX_PV_L 0x01
|
||||
#define HOLD_ADDR_MUX_PV_H 0x02
|
||||
#define HOLD_ADDR_PHY_UNIT 0x03
|
||||
#define HOLD_ADDR_PHY_UP 0x04
|
||||
#define HOLD_ADDR_PHY_LOW 0x05
|
||||
#define HOLD_ADDR_SAMPLE_INTERVAL 0x06
|
||||
#define HOLD_ADDR_PLOT_COUNTS 0x07
|
||||
#define HOLD_ADDR_INPUT_COLOR 0x08
|
||||
#define HOLD_ADDR_OUTPUT_COLOR 0x09
|
||||
#define HOLD_ADDR_LANGUAGE 0x0A
|
||||
|
||||
//自定义输入寄存器地址
|
||||
#define INPUT_ADDR_BATTERY 0x00
|
||||
#define INPUT_ADDR_RUNTIME_SECOND 0x01
|
||||
#define INPUT_ADDR_RUNTIME_HOUR 0x02
|
||||
#define INPUT_ADDR_MUX_SV_L 0x03
|
||||
#define INPUT_ADDR_MUX_SV_H 0x04
|
||||
|
||||
typedef enum
|
||||
{
|
||||
TRANSPARENT_WAIT = 0,
|
||||
|
@ -43,4 +71,25 @@ void trans_start_capture(void);
|
|||
|
||||
uint8_t trans_enable_check(st_scom *scom);
|
||||
|
||||
//处理modbus寄存器值的更新与写入
|
||||
void modbus_registers_update(void);
|
||||
|
||||
//线圈寄存器,读写
|
||||
void modbus_reg_update_coil(void);
|
||||
|
||||
//离散输入寄存器,上位机只读
|
||||
void modbus_reg_update_dis(void);
|
||||
|
||||
//保持寄存器,读写
|
||||
void modbus_reg_update_hold(void);
|
||||
|
||||
//输入寄存器,上位机只读
|
||||
void modbus_reg_update_input(void);
|
||||
|
||||
//设置线圈寄存器,输入参数:地址、标志位
|
||||
void set_coil_val(uint8_t addr, uint8_t bit_val);
|
||||
|
||||
//获取线圈值,应对上位机修改线圈的情况
|
||||
uint8_t get_coil_val(uint8_t addr);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -15,19 +15,19 @@
|
|||
#define WriteMultiReg 0x10 //写多个保持寄存器
|
||||
|
||||
#define COIL_ADD_MIN 0x00
|
||||
#define COIL_ADD_MAX 0x64
|
||||
#define COIL_ADD_MAX 0x0F
|
||||
#define MAX_COIL_NUM ((COIL_ADD_MAX) - (COIL_ADD_MIN) + 1)
|
||||
|
||||
#define DIS_ADD_MIN 0x00
|
||||
#define DIS_ADD_MAX 0x64
|
||||
#define DIS_ADD_MAX 0x0F
|
||||
#define MAX_DIS_NUM ((DIS_ADD_MAX) - (DIS_ADD_MIN) + 1)
|
||||
|
||||
#define INPUT_REG_ADD_MIN 0x00
|
||||
#define INPUT_REG_ADD_MAX 0x64
|
||||
#define INPUT_REG_ADD_MAX 0x0F
|
||||
#define MAX_INPUT_REG_NUM ((INPUT_REG_ADD_MAX) - (INPUT_REG_ADD_MIN) + 1)
|
||||
|
||||
#define HOLD_REG_ADD_MIN 0x00
|
||||
#define HOLD_REG_ADD_MAX 0x64
|
||||
#define HOLD_REG_ADD_MAX 0x0F
|
||||
#define MAX_HOLD_REG_NUM ((HOLD_REG_ADD_MAX) - (HOLD_REG_ADD_MIN) + 1)
|
||||
|
||||
#define BROADCAST_ADDRESS 0x00
|
||||
|
|
|
@ -392,3 +392,114 @@ uint8_t trans_enable_check(st_scom *scom)
|
|||
|
||||
return result;
|
||||
}
|
||||
|
||||
//处理modbus寄存器值的更新与写入
|
||||
void modbus_registers_update(void)
|
||||
{
|
||||
//线圈寄存器
|
||||
modbus_reg_update_coil();
|
||||
|
||||
//离散状态寄存器
|
||||
modbus_reg_update_dis();
|
||||
|
||||
//保持寄存器
|
||||
modbus_reg_update_hold();
|
||||
|
||||
//输入寄存器
|
||||
modbus_reg_update_input();
|
||||
}
|
||||
|
||||
//线圈寄存器,读写
|
||||
void modbus_reg_update_coil(void)
|
||||
{
|
||||
if( get_coil_val(COIL_ADDR_ON_OFF) != menu_data.io_on2off )
|
||||
{
|
||||
//进入此处说明线圈寄存器的值被上位机修改
|
||||
|
||||
if( menu_data.scr_now == SCREEN_MAIN )
|
||||
{
|
||||
//只有在主界面时,修改内容才生效
|
||||
menu_data.io_on2off = get_coil_val(COIL_ADDR_ON_OFF);
|
||||
io_on2off_status();
|
||||
}
|
||||
else
|
||||
{
|
||||
//拒绝修改内容
|
||||
set_coil_val(COIL_ADDR_ON_OFF, menu_data.io_on2off);
|
||||
}
|
||||
}
|
||||
|
||||
if( get_coil_val(COIL_ADDR_LIGHT) != tabdata.item3_page0_lightflag )
|
||||
{
|
||||
//进入此处说明线圈寄存器的值被上位机修改
|
||||
|
||||
tabdata.item3_page0_lightflag = get_coil_val(COIL_ADDR_LIGHT);
|
||||
|
||||
if(tabdata.item3_page0_lightflag)
|
||||
{
|
||||
LIGHT_ON;
|
||||
}
|
||||
else
|
||||
{
|
||||
LIGHT_OFF;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//离散输入寄存器,上位机只读
|
||||
void modbus_reg_update_dis(void)
|
||||
{}
|
||||
|
||||
//保持寄存器,读写
|
||||
void modbus_reg_update_hold(void)
|
||||
{}
|
||||
|
||||
//输入寄存器,上位机只读
|
||||
void modbus_reg_update_input(void)
|
||||
{}
|
||||
|
||||
void set_coil_val(uint8_t addr, uint8_t bit_val)
|
||||
{
|
||||
if( (addr < COIL_ADD_MIN)||(addr > COIL_ADD_MAX)||(bit_val > 1) ) return;
|
||||
|
||||
addr -= COIL_ADD_MIN;
|
||||
uint8_t pcoil = addr / 8; //数组的第几个元素, 0-7
|
||||
uint8_t pbit = addr % 8; //元素的第几位, 0-7
|
||||
uint8_t fac = 0; //辅助计算的因子
|
||||
|
||||
switch (bit_val)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
fac = ~(1 << pbit);
|
||||
CoilState[pcoil] &= fac;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
{
|
||||
fac = 1 << pbit;
|
||||
CoilState[pcoil] |= fac;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t get_coil_val(uint8_t addr)
|
||||
{
|
||||
uint8_t result = 0;
|
||||
if( (addr < COIL_ADD_MIN)||(addr > COIL_ADD_MAX) ) return;
|
||||
|
||||
addr -= COIL_ADD_MIN;
|
||||
uint8_t pcoil = addr / 8; //数组的第几个元素, 0-7
|
||||
uint8_t pbit = addr % 8; //元素的第几位, 0-7
|
||||
|
||||
result = 0x01 & (CoilState[pcoil] >> pbit);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -55,8 +55,10 @@ void fun_get_freq(st_freq_signal *freq_signal, float *data_pv)
|
|||
{
|
||||
freq_signal->capture_cnt = 0;
|
||||
__HAL_TIM_SET_COUNTER(&htim3, 0);
|
||||
freq_signal->duty_time = freq_signal->capture_buf[1] + freq_signal->over_cnt * 60000 - freq_signal->capture_buf[0];
|
||||
freq_signal->freq = 1000000 / freq_signal->duty_time;
|
||||
// freq_signal->duty_time = freq_signal->capture_buf[1] + freq_signal->over_cnt * 60000 - freq_signal->capture_buf[0];
|
||||
// freq_signal->freq = 1000000 / freq_signal->duty_time;
|
||||
freq_signal->duty_time = freq_signal->capture_buf[1] + freq_signal->over_cnt * 65535 - freq_signal->capture_buf[0];
|
||||
freq_signal->freq = 82944000 / freq_signal->duty_time;
|
||||
*data_pv = freq_signal->freq;
|
||||
freq_signal->over_cnt = 0;
|
||||
}
|
||||
|
@ -136,19 +138,22 @@ void mux_signal_switch(st_mux_signal *mux_signal)
|
|||
|
||||
switch (ch)
|
||||
{
|
||||
case CH0_OUT_VOL_V:
|
||||
dac_set_voltage(&mux_signal->data_sv);
|
||||
fun_proc_adc1_dma(&mux_signal->data_pv);
|
||||
case CH0_OUT_VOL_V:
|
||||
dac_set_voltage(&mux_signal->data_sv);
|
||||
fun_proc_adc1_dma(&mux_signal->data_pv);
|
||||
break;
|
||||
case CH1_OUT_VOL_MV:
|
||||
dac8552_operation(NULL, &mux_signal->data_sv);
|
||||
fun_get_sig16132_ch(4, &mux_signal->data_pv);
|
||||
|
||||
case CH1_OUT_VOL_MV:
|
||||
dac8552_operation(NULL, &mux_signal->data_sv);
|
||||
fun_get_sig16132_ch(4, &mux_signal->data_pv);
|
||||
break;
|
||||
case CH2_OUT_CUR:
|
||||
dac8552_operation(&mux_signal->data_sv, NULL);
|
||||
fun_get_sig16132_ch(7, &mux_signal->data_pv);
|
||||
|
||||
case CH2_OUT_CUR:
|
||||
dac8552_operation(&mux_signal->data_sv, NULL);
|
||||
fun_get_sig16132_ch(7, &mux_signal->data_pv);
|
||||
break;
|
||||
case CH3_OUT_FRE:
|
||||
|
||||
case CH3_OUT_FRE:
|
||||
{
|
||||
if(tabdata.hart_enable == 0)
|
||||
{
|
||||
|
@ -158,37 +163,44 @@ void mux_signal_switch(st_mux_signal *mux_signal)
|
|||
}
|
||||
}
|
||||
break;
|
||||
case CH4_OUT_RES:
|
||||
fun_dac7811_operate(&mux_signal->data_sv);
|
||||
|
||||
case CH4_OUT_RES:
|
||||
fun_dac7811_operate(&mux_signal->data_sv);
|
||||
break;
|
||||
case CH5_EMPTY:
|
||||
|
||||
case CH5_EMPTY:
|
||||
break;
|
||||
case CH6_IN_VOL:
|
||||
fun_get_sig16132_ch(2, &mux_signal->data_pv);
|
||||
|
||||
case CH6_IN_VOL:
|
||||
fun_get_sig16132_ch(2, &mux_signal->data_pv);
|
||||
// fun_rn7302_operate(CH0_IN_VOL, &mux_signal->data_pv);
|
||||
break;
|
||||
case CH7_IN_MVOL:
|
||||
fun_get_sig16132_ch(3, &mux_signal->data_pv);
|
||||
|
||||
case CH7_IN_MVOL:
|
||||
fun_get_sig16132_ch(3, &mux_signal->data_pv);
|
||||
// fun_rn7302_operate(CH0_IN_VOL, &mux_signal->data_pv);
|
||||
break;
|
||||
case CH8_IN_CUR:
|
||||
fun_get_sig16132_ch(5, &mux_signal->data_pv);
|
||||
|
||||
case CH8_IN_CUR:
|
||||
fun_get_sig16132_ch(5, &mux_signal->data_pv);
|
||||
// fun_rn7302_operate(CH1_IN_CUR, &mux_signal->data_pv);
|
||||
break;
|
||||
case CH9_IN_FRE:
|
||||
fun_get_freq(&freq_signal, &mux_signal->data_pv);
|
||||
break;
|
||||
case CH10_IN_RTD:
|
||||
fun_get_sig16132_ch(CH10_IN_RTD, &mux_signal->data_pv);
|
||||
// fun_rn7302_operate(CH3_IN_RTD, &mux_signal->data_pv);
|
||||
|
||||
case CH9_IN_FRE:
|
||||
fun_get_freq(&freq_signal, &mux_signal->data_pv);
|
||||
break;
|
||||
case CH11_IN_TC:
|
||||
ads1220_operation(CH11_IN_TC, &mux_signal->data_pv);
|
||||
|
||||
case CH10_IN_RTD:
|
||||
fun_get_sig16132_ch(CH10_IN_RTD, &mux_signal->data_pv);
|
||||
// fun_rn7302_operate(CH3_IN_RTD, &mux_signal->data_pv);
|
||||
break;
|
||||
|
||||
default:
|
||||
case CH11_IN_TC:
|
||||
ads1220_operation(CH11_IN_TC, &mux_signal->data_pv);
|
||||
// fun_rn7302_operate(CH3_IN_RTD, &mux_signal->data_pv);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -212,6 +212,7 @@ void start_task_hart(void const * argument)
|
|||
/* Infinite loop */
|
||||
for (;;)
|
||||
{
|
||||
//该任务用于设置HART芯片所需频率、驱动验证
|
||||
if(tabdata.hart_enable == 1)
|
||||
{
|
||||
if(fre_set != 460800)
|
||||
|
@ -259,6 +260,7 @@ void start_task_ble(void const * argument)
|
|||
/* Infinite loop */
|
||||
for (;;)
|
||||
{
|
||||
//该任务用于蓝牙设备初始化、驱动验证
|
||||
if( ble_init() == 1 )
|
||||
{
|
||||
if(tabdata.bluetooth_enable == 1)
|
||||
|
@ -293,11 +295,16 @@ void start_rs485(void const * argument)
|
|||
/* Infinite loop */
|
||||
for (;;)
|
||||
{
|
||||
//该任务用于处理寄存器的数值的读写、当前通讯状态的更新
|
||||
|
||||
if( !(tabdata.bluetooth_enable||tabdata.hart_enable||tabdata.modbus_enable) )
|
||||
{
|
||||
sig_trans = TRANS_NONE;
|
||||
}
|
||||
|
||||
//更新modbus的寄存器值
|
||||
modbus_registers_update();
|
||||
|
||||
osDelay(RS485_TASK_PERIOD);
|
||||
}
|
||||
/* USER CODE END start_rs485 */
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue