120 lines
3.5 KiB
C
120 lines
3.5 KiB
C
|
|
/* 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 */
|