使用头文件

#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));

QT 环境下开发socketCan接口程序的更多相关文章

  1. 在桌面Linux环境下开发图形界面程序的方案对比

    在Linux下开发GUI程序的方法有很多,比如Gnome桌面使用GTK+作为默认的图形界面库,KDE桌面使用Qt作为默认的图形界面库,wxWidgets则是另一个使用广泛的图形库,此外使用Java中的 ...

  2. 在VS2010下开发C语言程序

    妈蛋,我发现VS下开发C语言,并不是把文件名改成.C的就行了.VS2010不支持C99.  也就是函数局部变量声明必须放在函数的开头.难怪,我从Linux下移植过来的.c工程怎么是编译错误呢,发现是变 ...

  3. 4.1. 如何在Windows环境下开发Python

    4.1. 如何在Windows环境下开发Python 4.1. 如何在Windows环境下开发Python 4.1.1. Python的最原始的开发方式是什么样的 4.1.1.1. 找个文本编辑器,新 ...

  4. qt 环境下mapx组件的鼠标跟踪

    经过两天的研究mapx组件人坐标转换还是没有转换成功,因为不管怎么变,定点转换的经纬度坐标始终与期望的值有较大的偏差.最后还是想老大请教了一下,划了半天功夫就研究出来了(不愧是老大,仰慕之情犹如滔滔江 ...

  5. winserve2008下不能运行winXP下开发的应用程序→更改“兼容性”

    winserve2008下不能运行winXP下开发的应用程序 对策:更该“兼容性”

  6. 在python3.6环境下使用cxfreeze打包程序

    在python3.6环境下使用cxfreeze打包程序 环境:python3.6 打包程序:aliens_invasion 原本想使用pyintaller 进行打包,使用pip的安装过程也没有问题,打 ...

  7. 新闻实时分析系统 基于IDEA环境下的Spark2.X程序开发

    1.Windows开发环境配置与安装 下载IDEA并安装,可以百度一下免费文档. 2.IDEA Maven工程创建与配置 1)配置maven 2)新建Project项目 3)选择maven骨架 4)创 ...

  8. 新闻网大数据实时分析可视化系统项目——15、基于IDEA环境下的Spark2.X程序开发

    1.Windows开发环境配置与安装 下载IDEA并安装,可以百度一下免费文档. 2.IDEA Maven工程创建与配置 1)配置maven 2)新建Project项目 3)选择maven骨架 4)创 ...

  9. [荐][转]为何应该使用 MacOS X(论GUI环境下开发人员对软件的配置与重用)

    一周前我和 Tinyfool 闲聊苹果操作系统,都认为对于开发人员来说,苹果操作系统(MacOS)是上佳的选择.Tinyfool 笔头很快,当即就写了一篇长文章,我则笔头很慢,今天才全部码好.他的文章 ...

随机推荐

  1. 正斜杠和反斜杠-windows、web、c语言大讨论

    首先,在c语言中,正斜杠/ slash 表示除法反斜杠\ backslash ,\用于转义字符,\n.\0. 其次,UNIX 操作系统设计了这种路径分隔法,它使用正斜杠:/.由于网络是首先应用在 UN ...

  2. Exceeded maximum number of retries. Exceeded max scheduling attempts 3 for instance 7d90eb80-29e2-4238-b658-ade407ff9456. Last exception: [u'Traceback (most recent call last):\n', u' File "/usr/lib/py

    Exceeded maximum number of retries. Exceeded max scheduling attempts 3 for instance 7d90eb80-29e2-42 ...

  3. windows installer 出错问题解决

    在卸载程序的额时候,如果出现windows installer出错,可以通过一个Windows Installer CleanUp Utility, 有了Windows Installer Clean ...

  4. 利用SecondaryNameNode文件恢复Namenode-实践可行

    二. namenode故障恢复(importCheckpoint) *注意事项: (1) 为了便于将随便一台datanode临时用作namenode,datanode和namenode配置需要一模一样 ...

  5. Sublime Text 2/3安装CTags实现函数跳转

    安装ctags 下载 ctags程序,放到目录D:/ctags/下 安装ctags插件 1. 打开Sublime Text 2. Preferences->Package Control-> ...

  6. Android IOS WebRTC 音视频开发总结(十二)-- sufaceview

    谈到音视频不得不谈谈对视频呈现的理解,为了让大家能有一个更好的理解,先看看android里面SurfaceView的原理,后续陆续分享其绘画原理. 说明:本文是转载的,转载自哪里我也不知道,貌似经过很 ...

  7. linux常见驱动修改

    =============================== 说明 ===============================本文以A5为例,举8种我们公司常用接口的极度精简的驱动程序,只宜参考 ...

  8. linux禁止tty终端登陆

    修改文件/etc/pam.d/system-auth #%PAM-1.0# This file is auto-generated.# User changes will be destroyed t ...

  9. 显示和隐藏Mac隐藏文件的终端命令

    打开终端,输入以下命令: 显示mac隐藏文件的命令: defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏mac隐藏文件的命令 ...

  10. silverlight 不能输入中文问题

    <param name="Windowless" value="true" />将调用silverlight页面的这句删除掉应该就能解决问题了 1. ...