数据-Linux下的CAN通信问题,求解!!!

问题描述

Linux下的CAN通信问题,求解!!!

我在liunx下要进行CAN通信,使用的是CAN口扩展卡,程序中包含linux/can.h头文件,使用了里面的struct can__frame数据帧格式。因为要发送标准数据帧,所以我将can_id=0x00000008,can_dlc=8 data[0]~data[7]放入数据。接着用write(fd, &tx 1)来发送,但是调试工具一直显示数据长度为0.我试着用write(fd &tx sizeof(tx))来发送数据,但是程序就出错。请教各位高手,问题在哪,我该如何实现简单的CAN通信。

void Send()
{

struct can_frame rxtx;tx.can_id = 0x00000008;tx.can_dlc = 8;tx.data[0] = 0xA1;tx.data[1] = 0xF0;tx.data[2] = 0x00;tx.data[3] = 0x51;tx.data[4] = 0x02;tx.data[5] = 0x03;tx.data[6] = 0x04;tx.data[7] = tx.data[0] + tx.data[1] + tx.data[2] + tx.data[3] + tx.data[4] + tx.data[5] + tx.data[6];int m = write(can_fd &tx sizeof(struct can_frame));printf(""can send...............%dn""m);

}

用sizeof时,程序报错

解决方案

write(fd, &tx 1)肯定是不对的。

没有使用过CAN,这是使用的哪种socket?(也就是socket的三个参数分别是什么?)

时间: 2024-10-28 11:33:07

数据-Linux下的CAN通信问题,求解!!!的相关文章

串口通讯-Linux下多线程串口通信问题

问题描述 Linux下多线程串口通信问题 我做的一个项目,把串口读写采用了一个独立的线程,进行数据的读写,在调试时,发现只要启动另外一个计算量比较大的线程,串口通信就出错了,而只要不启动这个线程,可以启动其他线程,串口工作没有任何问题,求原因? 解决方案 在C#中使用SerialPort类实现串口通信,多线程问题在C#中使用SerialPort类实现串口通信 遇到多线程问题在C#中使用SerialPort类实现串口通信 遇到多线程问题 解决方案二: 这两个线程有耦合吧?认真分析一下之间的联系.可

c#如何通过onc/rpc协议与Linux下的服务器通信

问题描述 c#如何通过onc/rpc协议与Linux下的服务器通信有谁做过这方面的吗? 解决方案 解决方案二:可以先看看别人是怎么做的:http://sourceforge.net/projects/remoteteanet/

抓取数据-linux下怎么捕捉qt写的窗体界面的变化?

问题描述 linux下怎么捕捉qt写的窗体界面的变化? 两个qt窗体程序,a窗体上定时刷新一组数据列表,b需要抓取变化前后的数据并在b窗体上显示出来. windows下似乎可用hook实现,而我不太懂linux的消息(?)机制,希望得到大神们的建议和指教,谢谢啦! 解决方案 http://blog.csdn.net/linuxheik/article/details/51182074http://www.devbean.net/2013/11/qt-study-road-2-ipc/

Linux下串口通信异常的问题

问题描述 Linux下串口通信异常的问题 本人在linux下进行串口通信程序开发,把串口通信放在一条单独的线程里,问题来了,程序在启动另外一个计算线程后,串口通信出现异常.两线程间并没有任何数据共享,串口通信无论非组塞还是阻塞都有问题!请高手分析下原因! 解决方案 串口通信的帧同步问题 解决方案二: 出现异常是什么意思? 串口读和写是不同的线程么?还是就一个简单的线程啊?

linux下如何使用正则表达式regex库对通过libpcap在线抓的数据包进行筛选?

问题描述 linux下如何使用正则表达式regex库对通过libpcap在线抓的数据包进行筛选? linux下有一个用c写的通过libpcap抓取数据包的程序,如何通过正则表达式库regex对数据包进行筛选?有大神的话请贴一部分代码什么的,,, 解决方案 libpcap程序里,主体通过pcap_loop或者pcap_dispatch进行循环,需要提供报文的回调函数 在回调函数里面,对报文进行解析,逐层剥离协议头(ip->tcp->7层) 根据需要进行7层解析(例如解析http字段,可选) 对解

求解-Linux下安装Oracle的问题

问题描述 Linux下安装Oracle的问题 我在linux环境下安装oracle的时候,在终端输入dbca的时候,显示命名未找到(command not found)是什么问题?求解== 解决方案 进入database目录下试一下

在linux下,python怎么才能抓到网卡上的所有TCP数据包?

问题描述 在linux下,python怎么才能抓到网卡上的所有TCP数据包? 网卡已经设置为混杂模式,能够收到mac不是本机mac的数据包,但是程序只能收到和本机ip一样的数据包,不能收到和本机ip不一样的数据包,求助.代码如下: sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP) packet_base = sock.recvfrom(1024)[0] print "receive a packet

阿里云Linux下将网站内容从系统盘搬家到数据盘方法

最开始一看,以为很难,毕竟没有操作过,后来走了一躺,感觉也就那么回事. 阿里云系统盘和数据盘的IO性能差别 部落在网上找了一段阿里云系统盘和数据盘的IO性能差别的数据,如下: 阿里云的系统盘(20G):Total transferred 901.56Mb (15.026Mb/sec) 961.64 Requests/sec executed 阿里云的数据盘(100G):Total transferred 550Mb (9.1664Mb/sec) 586.65 Requests/sec execu

linux下使用java.awt,程序无法进入构造方法。求解

问题描述 weblogic8,jdk1.42(别骂我,老项目在改造)在windows下使用正常,但是部署到linux下,图像显示的类无法进入构造方法.个人猜测是使用了java.awt包导致的,于是在startWeblogic.sh配置了-Djava.awt.headless=true结果还是无效.具体的类如下:packagecom.estar.util.image;importjavax.imageio.ImageIO;importjavax.imageio.IIOException;impor