更新:DEVICE<---HART--->SIG<---485--->PC,HART透传功能完成
This commit is contained in:
parent
daf63a4503
commit
96575c2dc9
|
@ -125,10 +125,10 @@ typedef enum
|
|||
|
||||
typedef enum
|
||||
{
|
||||
TRANS_NONE = 0,
|
||||
TRANS_HART,
|
||||
TRANS_BLUETOOTH,
|
||||
TRANS_MODBUS
|
||||
TRANS_NONE = 0, //无通讯
|
||||
TRANS_HART, //HART透传
|
||||
TRANS_BLUETOOTH, //蓝牙透传
|
||||
TRANS_MODBUS //MODBUS
|
||||
}SIG_TRANSMISSION;
|
||||
|
||||
typedef struct
|
||||
|
@ -163,8 +163,13 @@ extern SIG_TRANSMISSION sig_trans; //通讯模式
|
|||
|
||||
//绝对值计算
|
||||
#define MY_ABS(pa) ( ( (pa) >= 0 )?( (pa) ):( 0 - (pa) ) )
|
||||
#define LVGL_BREATHE_INTERVAL 5
|
||||
#define BLE_TASK_PERIOD 100
|
||||
|
||||
#define LVGL_TASK_PERIOD 5 //LVGL任务周期
|
||||
#define MENU_TASK_PERIOD 500 //显示内容设置周期
|
||||
#define BLE_TASK_PERIOD 10 //蓝牙任务周期
|
||||
#define HART_TASK_PERIOD 5 //HART任务周期
|
||||
#define RS485_TASK_PERIOD 5 //485任务周期
|
||||
#define MUX_TASK_PERIOD 50 //多通道输入输出任务周期
|
||||
|
||||
//屏幕显示
|
||||
void screen_run(void);
|
||||
|
|
|
@ -1148,7 +1148,6 @@ void up2down_update(int16_t low, int16_t up)
|
|||
void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type)
|
||||
{
|
||||
//为保障安全,切换工作模式后:功能关闭,输入输出值清零
|
||||
//{
|
||||
//功能关闭
|
||||
m5data.io_on2off = IO_OFF;
|
||||
io_on2off_status(); //更新ON/OFF/IN/OUT状态指示
|
||||
|
@ -1174,7 +1173,7 @@ void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type)
|
|||
m5data.twk_cnt = 0; //闪烁计数清零
|
||||
m5data.twk_flip = 0; //0显示,1不显示
|
||||
#endif
|
||||
//}
|
||||
|
||||
|
||||
switch (mode)
|
||||
{
|
||||
|
|
|
@ -830,7 +830,10 @@ float32 my_power(int a, int b)
|
|||
//初始化打包
|
||||
void my_inits_gather(void)
|
||||
{
|
||||
//HAL_UART_Receive_IT(&huart6, scom6_ble.rx_buff, 255);
|
||||
SIG24130_Init();
|
||||
|
||||
//HART复位关闭
|
||||
HART_RESET(GPIO_PIN_SET);
|
||||
|
||||
//eeprom
|
||||
eeprom_spi_init();
|
||||
|
|
|
@ -419,11 +419,10 @@ void key_functions_main(void)
|
|||
#if NIXIE_CUBE_ENABLE
|
||||
// m5data.twk_flag = 1; //上、下、左、右 任意一个键按下后,闪烁开始
|
||||
// m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
#endif
|
||||
|
||||
//避免游标移动的瞬间,前一刻的数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
|
||||
set_nixie_cube(IO_OUTPUT, m5data.io_cursor, m5data.o_numbers[m5data.io_cursor]);
|
||||
|
||||
#endif
|
||||
m5data.io_cursor_prv = m5data.io_cursor;
|
||||
m5data.io_cursor = (m5data.io_cursor <= 0)?(6):(m5data.io_cursor - 1);
|
||||
set_cursor_position();
|
||||
|
@ -462,11 +461,10 @@ void key_functions_main(void)
|
|||
#if NIXIE_CUBE_ENABLE
|
||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
#endif
|
||||
|
||||
//避免游标移动的瞬间,前一刻的数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
|
||||
set_nixie_cube(IO_OUTPUT, m5data.io_cursor, m5data.o_numbers[m5data.io_cursor]);
|
||||
|
||||
#endif
|
||||
m5data.io_cursor_prv = m5data.io_cursor;
|
||||
m5data.io_cursor = (m5data.io_cursor >= 6)?(0):(m5data.io_cursor + 1);
|
||||
set_cursor_position();
|
||||
|
|
|
@ -121,11 +121,19 @@ static void fun_pwr12_ctrl(uint8_t ch)
|
|||
|
||||
uint8_t pulse = 50;
|
||||
float32 fre_set = 0;
|
||||
float32 sv_prv = 0;
|
||||
CHANNEL ch_prv = CHX_IN_MAX;
|
||||
void mux_signal_switch(st_mux_signal *mux_signal)
|
||||
{
|
||||
CHANNEL ch;
|
||||
|
||||
ch = mux_signal->channel;
|
||||
|
||||
//通道和设定值均未发生改变时,直接返回
|
||||
if( ( ch_prv == ch )&&( sv_prv == mux_signal->data_sv ) ) return;
|
||||
|
||||
ch_prv = ch;
|
||||
sv_prv = mux_signal->data_sv;
|
||||
|
||||
fun_pwr12_ctrl(ch);
|
||||
HC138_SEL_CH(ch);
|
||||
|
||||
|
@ -183,9 +191,6 @@ void mux_signal_switch(st_mux_signal *mux_signal)
|
|||
ads1220_operation(CH11_IN_TC, &mux_signal->data_pv);
|
||||
// fun_rn7302_operate(CH3_IN_RTD, &mux_signal->data_pv);
|
||||
break;
|
||||
case CH12_IN_HART:
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -57,6 +57,8 @@ extern "C" {
|
|||
|
||||
#define HART_OCD() HAL_GPIO_ReadPin(HART_OCD_GPIO_Port, HART_OCD_Pin)
|
||||
|
||||
#define HART_RESET(STATE) HAL_GPIO_WritePin(HART_RST_GPIO_Port, HART_RST_Pin, STATE)
|
||||
|
||||
#define HART_RTS(SEND) HAL_GPIO_WritePin(HART_RTS_GPIO_Port, HART_RTS_Pin, SEND)
|
||||
|
||||
#define HC138_SEL_CH(CH) \
|
||||
|
|
|
@ -190,9 +190,10 @@ void start_task_lcd(void const * argument)
|
|||
|
||||
lv_timer_handler(); //LVGL刷新任务
|
||||
|
||||
osDelay(LVGL_BREATHE_INTERVAL);
|
||||
system_sts.lvgl_stack_consume = uxTaskGetStackHighWaterMark(NULL);
|
||||
system_sts.lvgl_stack_consume = 768 - system_sts.lvgl_stack_consume;
|
||||
|
||||
osDelay(LVGL_TASK_PERIOD);
|
||||
}
|
||||
/* USER CODE END start_task_lcd */
|
||||
}
|
||||
|
@ -220,8 +221,7 @@ void start_task_hart(void const * argument)
|
|||
}
|
||||
|
||||
//驱动验证,DEVICE <--- HART ---> SIG
|
||||
hart_test++;
|
||||
if(hart_test > 100)
|
||||
if(hart_test == 1)
|
||||
{
|
||||
hart_test = 0;
|
||||
|
||||
|
@ -229,11 +229,11 @@ void start_task_hart(void const * argument)
|
|||
hart_communicate(&scom1_hart);
|
||||
}
|
||||
|
||||
// sig_trans = TRANS_HART;
|
||||
// transparent_hart(&scom1_hart);
|
||||
sig_trans = TRANS_HART;
|
||||
transparent_hart(&scom1_hart);
|
||||
}
|
||||
|
||||
osDelay(10);
|
||||
osDelay(HART_TASK_PERIOD);
|
||||
}
|
||||
/* USER CODE END start_task_hart */
|
||||
}
|
||||
|
@ -300,7 +300,7 @@ void start_rs485(void const * argument)
|
|||
|
||||
transparent_485(&scom2_rs485);
|
||||
|
||||
osDelay(10);
|
||||
osDelay(RS485_TASK_PERIOD);
|
||||
}
|
||||
/* USER CODE END start_rs485 */
|
||||
}
|
||||
|
@ -317,7 +317,6 @@ lv_mem_monitor_t my_mon;
|
|||
void start_mux_analog(void const * argument)
|
||||
{
|
||||
/* USER CODE BEGIN start_mux_analog */
|
||||
SIG24130_Init();
|
||||
/* Infinite loop */
|
||||
for (;;)
|
||||
{
|
||||
|
@ -327,10 +326,7 @@ void start_mux_analog(void const * argument)
|
|||
//输出&输入通道切换
|
||||
mux_signal_switch(&mux_signal);
|
||||
|
||||
osDelay(50);
|
||||
my_monitor_cnt++;
|
||||
|
||||
//my monitors
|
||||
if(my_monitor_cnt >= 5)
|
||||
{
|
||||
my_monitor_cnt = 0;
|
||||
|
@ -342,6 +338,7 @@ void start_mux_analog(void const * argument)
|
|||
system_sts.mem_consume_max = (system_sts.mem_consume_max < system_sts.mem_consume)?(system_sts.mem_consume):(system_sts.mem_consume_max);
|
||||
}
|
||||
|
||||
osDelay(MUX_TASK_PERIOD);
|
||||
}
|
||||
/* USER CODE END start_mux_analog */
|
||||
}
|
||||
|
@ -363,11 +360,12 @@ void start_menu(void const * argument)
|
|||
//挂起自身
|
||||
if( screen_suspend_flag == 1 ) vTaskSuspend(task_menuHandle);
|
||||
|
||||
//screen_run();
|
||||
screen_run();
|
||||
|
||||
osDelay(500);
|
||||
system_sts.menu_stack_consume = uxTaskGetStackHighWaterMark(NULL);
|
||||
system_sts.menu_stack_consume = 512 - system_sts.menu_stack_consume;
|
||||
|
||||
osDelay(MENU_TASK_PERIOD);
|
||||
}
|
||||
/* USER CODE END start_menu */
|
||||
}
|
||||
|
@ -392,7 +390,7 @@ void start_task_monitor(void const * argument)
|
|||
//vTaskList(task_status);
|
||||
//HAL_UART_Transmit(&huart3, (uint8_t *)task_status, 255, 0xFFFF);
|
||||
|
||||
osDelay(3000);
|
||||
//osDelay(3000);
|
||||
}
|
||||
/* USER CODE END start_task_monitor */
|
||||
}
|
||||
|
|
|
@ -153,40 +153,7 @@
|
|||
<Name>-U53FF6B064884525650271587 -O2254 -SF5000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407VGTx$CMSIS\Flash\STM32F4xx_1024.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint>
|
||||
<Bp>
|
||||
<Number>0</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>224</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134241032</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>../Core/Src/stm32f4xx_it.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\signal_generator\../Core/Src/stm32f4xx_it.c\224</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>1</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>222</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134241022</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>../Core/Src/stm32f4xx_it.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\signal_generator\../Core/Src/stm32f4xx_it.c\222</Expression>
|
||||
</Bp>
|
||||
</Breakpoint>
|
||||
<Breakpoint/>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
|
@ -300,7 +267,7 @@
|
|||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>0</aLwin>
|
||||
<aLwin>1</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
<aSer2>0</aSer2>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue