2.Uart下行通信:
typedef struct uart_commx{
DpUart_t uartx;
char *send_frame;
unsigned int send_len;
//unsigned char *recv_frame;
//unsigned int recv_len;
unsigned char is_thread_alive;
SDL_Thread *thread;
struct list_head cyclic_query_list_head;
pthread_mutex_t cyclic_lock;
//SDL_mutex *mutex;
pthread_mutex_t mutex;
#if 0
PARA_BUF_QUEUE_T *uart_request_q;
#endif
int (*init)(struct uart_commx *uart,unsigned int i);
int (*deinit)(struct uart_commx *uart,unsigned int i);
int (*send_and_recv)(void *uart,unsigned char *,unsigned int,unsigned int *);
int (*add_cyclic_query)(struct uart_commx *uart,EVENT_ELEM_T *event,unsigned char com_no);
int (*del_cyclic_query)(struct uart_commx *uart,EVENT_ELEM_T *event,unsigned char com_no);
int (*add_up_data_item)(void *uart,struct esl_attribute_node *EslNode,unsigned char event_type,unsigned short scan_esl_addr);
int (*del_up_data_item)(void *uart,struct esl_attribute_node *EslNode,unsigned char event_type,unsigned short scan_esl_addr);
}uart_commx_t;
|