EV-Embedded-Control-System/project/inc/freertos_app.h

120 lines
3.5 KiB
C
Raw Normal View History

/* 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 */