使用头文件

#include <QMainWindow>
#include "QTimer"
#include "QTime"
#include "QMessageBox"
#include <QSocketNotifier>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/types.h>
#include "stdio.h"
#include "stdlib.h"
#include "unistd.h"
#include "fcntl.h"
#include "sys/ioctl.h"
#include "sys/stat.h"
#include <net/if.h>

#include <sys/ioctl.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/uio.h>
#include <linux/can.h>
#include <linux/can/raw.h>
#define PF_CAN 29

定义相关变量

struct sockaddr_can addr;
struct ifreq ifr;
struct can_frame frame;
int canfd;

接口初始化

canfd=socket(PF_CAN, SOCK_RAW, CAN_RAW);
if(canfd==-1)
{
perror("socket");
exit(1);
}
strcpy(ifr.ifr_name, "can0" );
if(ioctl(canfd, SIOCGIFINDEX, &ifr))
{
qDebug("ioctl");

}
addr.can_family = PF_CAN;
addr.can_ifindex = ifr.ifr_ifindex;
if(bind(canfd, (struct sockaddr *)&addr, sizeof(addr))<0)
{
qDebug("bind");

}

发送数据

memcpy(frame.data,buf,8);
frame.can_dlc=8;
frame.can_id=0x32;
write(canfd, &frame, sizeof(struct can_frame));

接收数据

read(canfd, &frame, sizeof(struct can_frame));

最新文章

  1. react学习与简介
  2. Redis学习笔记六:独立功能之 Lua 脚本
  3. 与你相遇好幸运,Sails.js安装
  4. window打开服务的dos命令
  5. php email邮箱正则验证
  6. Android的Task和Activity相关
  7. JSON字符串转换为JSON对象
  8. 玩转Android之数据库框架ActiveAndroid的使用
  9. 现有有N个学生的数据记录,每个记录包括学号、姓名、三科成绩。 编写一个函数input,用来输入一个学生的数据记录。 编写一个函数print,打印一个学生的数据记录。 在主函数调用这两个函数,读取N条记录输入,再按要求输出。 N&lt;100
  10. Oracle数据导入导出imp/exp(转)
  11. HDU 2444 The Accomodation of Students
  12. bitmap资源回收
  13. Runtime那些事
  14. Linux Shell 脚本攻略学习--四
  15. servlet篇 之 跳转问题
  16. 17秋 软件工程 第六次作业 Beta冲刺
  17. layer.js关闭子窗口及刷新父窗口
  18. JVM—JVM内存模型
  19. KindEditor:Ajax提交表单时获取不到HTML内容
  20. html5 canvas裁剪区域

热门文章

  1. 手机h5 页面 iPhone 下 手机号码 蓝色字体 黑色字体
  2. .NET平台下,关于数据持久层框架
  3. OpenGL ES 中Uniform块
  4. Windows phone 8 学习笔记(3) 通信(转)
  5. hdu2444
  6. Mybatis多条件查询
  7. LinqToDataTable
  8. 新建一个DataTable如何手动给其添加多条数据!
  9. Ajax+Asp.Net无刷新分页
  10. js闭包理解实例小结