#include "app.h" #include "os_timer.h" #include "stdio.h" #include "string.h" #include "bsp_Uart.h" #include "bsp_Wdg.h" #include "bsp_Led.h" #include "bsp_74HC4067.h" #include "bsp_Flash.h" #include "tjc_usart_hmi.h" #include "proto_modbus_master_tdlas.h" #include "proto_modbus_slave_ex.h" const char *HwVersion = "V1.0"; char SwVersion[24] = "V0.001.0"; void TASK_Idle(void); void Task_10ms(void); void Task_50ms(void); void Task_100ms(void); void Task_200ms(void); void Task_500ms(void); void Task_1s(void); void Task_2s(void); /****************************************** * 函数: AppInit * 功能: 初始化 * 参数: 无 * 返回: 无 * 描述: 无 ******************************************/ void App_Init(void) { Usr_Flash.Init(); COM_Uart1.Init(&COM_Uart1); COM_Uart2.Init(&COM_Uart2); COM_Uart4.Init(&COM_Uart4); Led.Init(); UartCH_Config.init(); tdlas.init(); modbus_slave_ex.init(); TJC_Init(&COM_Uart2); initRingBuffer(); char init_msg[] = "系统初始化...\r\n"; HAL_UART_Transmit(COM_Uart2.Uart, (uint8_t*)init_msg, strlen(init_msg), 100); //Wdg.Init(); } /****************************************** * 函数: App_Task * 功能: 分时复用 * 参数: 无 * 返回: 无 * 描述: 主循环中调用 ******************************************/ void App_Task(void) { if (TIME_TRUE == OsTimer_CheckTimeOut(OsTimeTick_10ms, osTime_MSecTick, 10)) { OsTimeTick_10ms = osTime_MSecTick; Task_10ms(); } if (TIME_TRUE == OsTimer_CheckTimeOut(OsTimeTick_50ms, osTime_MSecTick, 50)) { OsTimeTick_50ms = osTime_MSecTick; Task_50ms(); } if (TIME_TRUE == OsTimer_CheckTimeOut(OsTimeTick_100ms, osTime_MSecTick, 100)) { OsTimeTick_100ms = osTime_MSecTick; Task_100ms(); } if (TIME_TRUE == OsTimer_CheckTimeOut(OsTimeTick_200ms, osTime_MSecTick, 200)) { OsTimeTick_200ms = osTime_MSecTick; Task_200ms(); } if (TIME_TRUE == OsTimer_CheckTimeOut(OsTimeTick_500ms, osTime_MSecTick, 500)) { OsTimeTick_500ms = osTime_MSecTick; Task_500ms(); } if (TIME_TRUE == OsTimer_CheckTimeOut(OsTimeTick_1s, osTime_MSecTick, 1000)) { OsTimeTick_1s = osTime_MSecTick; Task_1s(); } if (TIME_TRUE == OsTimer_CheckTimeOut(OsTimeTick_2s, osTime_MSecTick, 2000)) { OsTimeTick_2s = osTime_MSecTick; Task_2s(); } TASK_Idle(); } /*空闲执行的函数*/ void TASK_Idle(void) { COM_Uart1.Rx_Task(&COM_Uart1); COM_Uart2.Rx_Task(&COM_Uart2); COM_Uart4.Rx_Task(&COM_Uart4); } void Task_10ms(void) { } void Task_50ms(void) { // tdlas.tx_task(); } void Task_100ms(void) { // tdlas.tx_task(); } void Task_200ms(void) { } void Task_500ms(void) { // UartCH_Config.ch_set(ch); // tdlas.tx_task(); Led.Flash(); } void Task_1s(void) { } void Task_2s(void) { }