Linux CAN通信
实现了Linux下的CAN通信——初始化,发两个送和接收(采用队列形式),使用两个线程,还有一个超时响应目前未写。接收部分使用select实现。
#ifndef _CAN_H_
#define _CAN_H_
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "can_queue.h"
#include "type.h"
#ifndef AF_CAN
#define AF_CAN 29
#endif
#ifndef PF_CAN
#define PF_CAN AF_CAN
#endif
typedef enum
{
CAN_PORT_0 = 0, // can0
CAN_PORT_1, // can1
}can_port_t ;
typedef struct
{
char *name;
int fd;
fd_set fdsr;
pthread_t send_thread;
pthread_t recv_thread;