ROS下安装libpcan库

环境:ubuntu16.04  ROS:kinetic

最近用到做can做数据传输。查了一下ros关于can通信的包。

有ros_canopen的一个功能包http://wiki.ros.org/ros_canopen,这个功能包主要是canopen 402协议,貌似主要做运动控制的,我的项目中传输的数据还是比较大的,不知道402行不行。查一些资料https://blog.csdn.net/hookie1990/article/details/76651844

https://blog.csdn.net/hookie1990/article/details/51894786

https://blog.csdn.net/hookie1990/article/details/52347518

https://blog.csdn.net/hookie1990/article/details/52629043

https://blog.csdn.net/hookie1990/article/details/52795269

主要是这个大神的博客,然后我也这么做了,但是操作的步骤可能有些差异,每个人的系统有差异。从这里下载了最新的pcan驱动(v8.6.0)for linux版本的。

https://www.peak-system.com/fileadmin/media/linux/index.htm#download

1、下载好之后

1、解压
sudo tar -xvf peak-linux-driver-8.6.0.tar.gz 

2、进入相应目录
cd peak-linux-driver-8.6.0/

3、make clean

4、sudo make

出现如下错误:
cc -DNO_RT -I. -I../driver -fPIC -Wall -Wcast-align -Wredundant-decls  -DPCANFD_OLD_STYLE_API -c src/libpcan.c -o obj/libpcan.o
cc -shared -Wl,-soname,libpcan.so.0 -o lib/libpcan.so.0.6 obj/libpcan.o 
cd lib/; ln -sf libpcan.so.0.6 libpcan.so
cc -DNO_RT -I. -I../driver -fPIC -Wall -Wcast-align -Wredundant-decls  -DPCANFD_OLD_STYLE_API -c src/libpcanfd.c -o obj/libpcanfd.o
cc -shared -Wl,-soname,libpcanfd.so.0 -o lib/libpcanfd.so.0.1 obj/libpcanfd.o 
cd lib/; ln -sf libpcanfd.so.0.1 libpcanfd.so
ar rcs lib/libpcanfd.a obj/libpcanfd.o

Info: only 64-bit version of libpcan can be built. 32-bit version of libpcan can't because the 32-bit version of libc seems not being installed...


解决问题,我是系统是54位的,提示没有32位的libc,所以安装:
sudo apt-get install libpopt-dev
sudo apt install libc6-dev-i386
sudo apt-get install lib32z1

5、sudo make

6、然后可以在driver目录下看到编译出来的一些东西了 如pcan.mod.o文件

7、手动加载驱动:
sudo modprobe pcan

6、sudo ./pcan_make_devices 2

7、查询:
ls -l /dev/pcan*

可以查到驱动 设备号了,显示结果如下:
crw-rw-rw- 1 root root 244,  0 9月   5 17:17 /dev/pcan0
crw-rw-rw- 1 root root 244,  1 9月   5 17:17 /dev/pcan1
crw-rw-rw- 1 root root 244, 16 9月   5 17:17 /dev/pcan16
crw-rw-rw- 1 root root 244, 17 9月   5 17:17 /dev/pcan17
crw-rw-rw- 1 root root 244, 24 9月   5 17:17 /dev/pcan24
crw-rw-rw- 1 root root 244, 25 9月   5 17:17 /dev/pcan25
crw-rw-rw- 1 root root 244, 32 9月   5 17:17 /dev/pcan32
crw-rw-rw- 1 root root 244, 33 9月   5 17:17 /dev/pcan33
crw-rw-rw- 1 root root 244, 40 9月   5 17:17 /dev/pcan40
crw-rw-rw- 1 root root 244, 41 9月   5 17:17 /dev/pcan41
crw-rw-rw- 1 root root 244,  8 9月   5 17:17 /dev/pcan8
crw-rw-rw- 1 root root 244,  9 9月   5 17:17 /dev/pcan9






 

 

 

你可能感兴趣的:(机器人ROS)