TX2上有2个CAN控制器,CAN控制器需要通过CAN收发器连接到物理总线上。具体参阅原理图和相关技术参考手册。
下载地址:https://developer.nvidia.com/embedded/downloads。
1、使能CAN口。
根据官方论坛中给定的方法使能CAN通信,链接如下:https://devtalk.nvidia.com/default/topic/1006762/jetson-tx2/how-can-i-use-can-bus-in-tx2-/3
具体命令:
$ sudo modprobe mttcan
$ sudo modprobe can
$ sudo modprobe can_raw
这里跟论坛中的略微有一点点不一样的是我没有执行
CONFIG_MTTCAN = m
这一行命令,因为当时执行的时候报错:
bash: CONFIG_MTTCAN: command not found
后来我在论坛留言后NVIDIA的人员回复让我直接执行下面的语句,似乎也没有什么问题?反正有点奇怪,只是执行的时候需要就sudo即root权限
2、设置CAN波特率
这里我设置的是CAN1口,要设置CAN0的话把CAN1改成CAN0就行
$ sudo ip link set can1 type can bitrate 500000 dbitrate 2000000 berr-reporting on fd on
$ sudo ip link set up can1
3、查询CAN口是否打开
执行ifconfig命令查看是否有CAN口
$ ifconfig
4、安装can-utils
一般来说安装完ROS的话是直接安装好了的,如果没有安装的话执行下列命令安装:
$ sudo apt-get install can-utils
4、一些简单实用的CAN命令
1)can发送
$ cansend CAN1 101#001E00100001 #前面“cansend CAN1是固定格式,后面是数据。101代表接收器ID,#后面是八字节数据位”
2)can接收
$candump CAN1
3)同时发送两条命令:
$cansend CAN1 101#001E00100001 && cansend CAN1 102#001E0010001
参考文档:
1、https://blog.csdn.net/zhenguo26/article/details/79629665
2、https://blog.csdn.net/xuezhunzhen9743/article/details/81877757
3、https://blog.csdn.net/qq_33635623/article/details/89944852
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)