/* add user code begin Header */ /** ****************************************************************************** * File Name : freertos_app.h * Description : Code for freertos applications */ /* add user code end Header */ #ifndef FREERTOS_APP_H #define FREERTOS_APP_H /* Includes ------------------------------------------------------------------*/ #include "FreeRTOS.h" #include "task.h" #include "semphr.h" #include "queue.h" #include "timers.h" #include "event_groups.h" #include "wk_system.h" #define MODBUS_ID_BRAKE 0 //刹车 #define MODBUS_ID_STEERING 1 //转向 #define MODBUS_ID_THROTTLE1 2 //油门1 #define MODBUS_ID_THROTTLE2 3 //油门2 #define MODBUS_ID_LIGHT 4 //信号灯 #define MODBUS_ID_GEAR 5 //档位 #define MODBUS_ID_SPEED1 6 //速度 #define MODBUS_ID_SPEED2 7 //速度 #define MODBUS_ID_TEMP1 8 //温度1 #define MODBUS_ID_TEMP2 9 //温度2 #define MODBUS_ID_VOLTAGE 10 //电压 #define MODBUS_ID_CURRENT 11 //电流 #define MODBUS_ID_BAT 12 //电量 #define MODBUS_ID_MILEAGE 13 //里程 #define MODBUS_ID_THROTTLE11 14 //自制CAN 油门1 #define MODBUS_ID_THROTTLE21 15 //自制CAN 油门2 #define MODBUS_ID_BRAKE_PARAMER 16 //油门参数 typedef enum { LOOP_READ_IDLE, //回读状态:modbus 正常读取,can正常接收参数 PARAM_SET, //参数设置状态: PARAM_ACK, //从机参数写入确认状态: PARAM_WRITE_ERR, //参数写入不成功 SLAVE_PARAM_SET_CALLBACK//从机刹车参数变更回传给主机 }brake_param_e; /* private includes -------------------------------------------------------------*/ /* add user code begin private includes */ /* add user code end private includes */ /* exported types -------------------------------------------------------------*/ /* add user code begin exported types */ /* add user code end exported types */ /* exported constants --------------------------------------------------------*/ /* add user code begin exported constants */ /* add user code end exported constants */ /* exported macro ------------------------------------------------------------*/ /* add user code begin exported macro */ /* add user code end exported macro */ /* task handler */ extern TaskHandle_t my_task01_handle; /* declaration for task function */ void run_task_func(void *pvParameters); void tmr_task_func(void *pvParameters); void rs485_task_func(void *pvParameters); void io_task_func(void *pvParameters); void modbustcp_slaver_task_func(void *pvParameters); void modbusrtu_master_task_func(void *pvParameters); void can1_master_task_func(void *pvParameters); void can2_master_task_func(void *pvParameters); void libmodbus_master_task_func(void *pvParameters); /* queue handler */ extern QueueHandle_t my_queue01_handle; /* software timer handler */ extern TimerHandle_t my_timer01_handle; /* software timer callback function */ void timercallback01(void *argument); /* binary semaphore handler */ extern SemaphoreHandle_t my_binary_sem01_handle; /* mutex handler */ extern SemaphoreHandle_t my_mutex01_handle; /* event handler */ extern EventGroupHandle_t my_event01_handle; /* add user code begin 0 */ /* add user code end 0 */ void freertos_task_create(void); void freertos_queue_create(void); void freertos_timer_create(void); void freertos_semaphore_create(void); void freertos_event_create(void); void wk_freertos_init(void); /* add user code begin 1 */ /* add user code end 1 */ #endif /* FREERTOS_APP_H */