SocketCAN插件封装了用于访问CAN设备的Linux套接字API。该API是一组由大众汽车研究公司(Volkswagen Research)向Linux内核提供的CAN驱动程序和网络堆栈。
该插件需要具有SocketCAN支持的Linux内核和用于所用CAN硬件的SocketCAN设备驱动程序。
要列出所有(包括未配置的)网络接口, ifconfig -a 可以使用该命令。
要使用SocketCAN,必须加载相应的Linux内核模块,并且必须配置网络接口。
本节假定设备驱动程序已加载(最有可能在连接CAN硬件时自动加载)。
要将设备can0设置为250 kBit / s的比特率,请执行以下 *** 作:
要在100毫秒后自动从“总线关闭”错误中恢复,可以使用以下命令:
要将设备can0设置为500 kBit / s的仲裁比特率和4 MBit / s的数据比特率(对于具有比特率切换标志的帧):
注意: 要使用CAN FD,必须将MTU(最大传输单元)设置为72字节。
以下使用的命令行测试程序来自 can-utils 包:
首先,有必要检查 QCanBus 是否提供了所需的插件:
其中 socketcan 是插件名称。
接下来,可以建立到特定接口的连接:
其中 can0 是活动的CAN接口名称。CAN接口的作用类似于Linux系统上的常规网络接口,可以使用来发现 ifconfig 。同样, availableDevices() 方法返回当前可用设备的列表。
该设备现已打开,可以写入和读取CAN帧:
可以使用 readFrame() 方法完成读取。当至少一个新的帧可用于读取时 framesReceived() 信号信号被触发:
SocketCAN支持以下配置,可以通过 setConfigurationParameter() 进行控制:
例如:
SocketCAN支持扩展的帧格式和灵活的数据速率。
SocketCAN支持以下附加功能:
Linux下Qt编程入门:http://wenku.baidu.com/view/6b0fd37ca26925c52cc5bfb4.html
linux下用Qt编程:
目的:如何编写有图形的应用程序
*** 作:用Qt编写。
先创建一个目录,比如chapter_1,然后在这个目录里编写一个
main.cpp 程序。接下来在这个目录里依次执行下列命令就会生成可
执行文件,注意可执行文件的文件名就是目录的名字,即
chapter_1。
$qmake -project
$qmake
$make
如果源代码中有错误,就不会生成可执行文件。这要要修改源程序,然后再执行上面的命令。
提示:qmake是用来生成makefile文件的,只要执行过就生成了
makefile文件。在大多数情况下,修改源代码后并不需要再次生成
makefile文件,而只执行make进行编译就可以了。
更多资料和信息你可以去看看>Linux学习网
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)