You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.1 KiB
83 lines
2.1 KiB
2 days ago
|
/*
|
||
|
* bsp_com_helper.h
|
||
|
*
|
||
|
* Created on: Oct 9, 2024
|
||
|
* Author: akeguo
|
||
|
*/
|
||
|
|
||
|
#ifndef INC_BSP_BSP_COM_HELPER_H_
|
||
|
#define INC_BSP_BSP_COM_HELPER_H_
|
||
|
#include "../../BASE/Inc/BSP/bsp_include.h"
|
||
|
|
||
|
|
||
|
typedef struct _Dispatcher
|
||
|
{
|
||
|
//uint8_t IsDeleted;
|
||
|
void (*dispache)(void);
|
||
|
|
||
|
//struct _Dispatcher* pBefore;
|
||
|
struct _Dispatcher* pNext;
|
||
|
}Dispatcher;
|
||
|
|
||
|
|
||
|
//通讯链表节点结构体
|
||
|
typedef struct _ComHardWare
|
||
|
{
|
||
|
//void (*dispache)(void);
|
||
|
char Name[50];
|
||
|
char IsOnline;
|
||
|
uint32_t BitFlag;
|
||
|
struct _ComHardWare* pNext;
|
||
|
}ComHardWare;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
typedef struct _DispacherController
|
||
|
{
|
||
|
Dispatcher *pHead; // = NULL; //环形链表中的数据头指针
|
||
|
Dispatcher *pTail; // = NULL; //环形链表中的数据尾指针
|
||
|
uint16_t DispacherNumber; // = 0;
|
||
|
uint16_t DispacherCallTime; //
|
||
|
uint16_t Dispacher_Counter; // = 0;
|
||
|
uint16_t Dispacher_Enable; // = 0 disable 1 enable
|
||
|
void (*Add_Dispatcher_List)(struct _DispacherController* ,
|
||
|
void (*dispacher)(void)); //UART的调度程序 添加调度任务
|
||
|
void (*Dispatcher_Run)(struct _DispacherController* ); //UART的调度程序 执行调度任务
|
||
|
|
||
|
}DispacherController;
|
||
|
|
||
|
typedef struct _HardWareController
|
||
|
{
|
||
|
struct _ComHardWare *pComHWHead;
|
||
|
struct _ComHardWare *pComHWTail;
|
||
|
uint16_t HardWare_Check_Counter;
|
||
|
uint16_t DispacherCallTime; //= 100; //2ms 一次,
|
||
|
void (*Add_PCOMHardWare)(struct _HardWareController *, char* , char ,uint32_t);
|
||
|
void (*PCOMHardWare_Check)(struct _HardWareController *);
|
||
|
int (*Set_PCOMHardWare)(struct _HardWareController *, char* , char );
|
||
|
|
||
|
|
||
|
} HardWareController;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
void Dispatch_t(DispacherController *uartHandler);
|
||
|
|
||
|
void Dispatcher_List_Add_t(DispacherController *uartHandler,void (*dispache)(void));
|
||
|
// void Dispatcher_List_Add_t(DispacherController *uartHandler,
|
||
|
// void (*dispache)(void),void (*Decode)(uint8_t*, uint16_t));
|
||
|
// void ComHardWare_List_Add_t(HardWareController *uartHandler, char *name,char value);
|
||
|
|
||
|
void PCOMHardWare_Check_t(HardWareController *uartHandler);
|
||
|
|
||
|
int Set_PCOMHardWare_t(HardWareController *uartHandler, char *name, char value);
|
||
|
|
||
|
void ComHardWare_List_Add_t(HardWareController *uartHandler, char *name,
|
||
|
char value,uint32_t bitFlag);
|
||
|
|
||
|
|
||
|
#endif /* INC_BSP_BSP_COM_HELPER_H_ */
|