libcanbus官方主页
libcanbus
canbus(CAN BUS V2.0 B)扩展格式库项目简析
注: 本文如果你已经有linux开发环境
请确保你使用本库时是tag版本号。
该库遵循的协议是SAE J1939-21-2006。
target=libcanbus-1.0
本项目採用 GPL 授权协议。欢迎大家在这个基础上进行改进,并与大家分享,为开源事业贡献一点点力量。
源代码下载地址:
https://git.oschina.net/fulinux/libcanbus
以下将简单的解析下项目:
一、项目的文件夹结构
根文件夹
|-- src
|-- util
|-- docs
|-- build-aux
`- m4
1、src文件夹
src文件夹用于存放项目的包及C源代码文件。
以下是src文件夹的文件:
src
|-- canbus.c
|-- canbus-private.h
`-- canbus.h
- canbus.c —库中的主文件,定义函数
- canbus-private.h —库中的私有头文件。声明个别结构体
- canbus.h —库中的公共头文件,声明函数和结构体等
2、util文件夹
util文件夹用于存放測试库的套件程序。
以下是test文件夹里的文件:
util
|-- recv-test.c
|-- send-test.c
|-- server-cycle2snd.c
|-- client-cycle2snd.c
|-- test-recv-send.c
`-- test-send-recv.c
- recv-test.c —CAN BUS扩展格式的接收測试程序, 与以下的程序配合使用
- send-test.c —CAN BUS扩展格式的发送測试程序, 与上面的程序配合使用
- server-cycle2snd.c —CAN BUS扩展格式中周期发送服务端測试程序, 与以下的程序配合使用
- client-cycle2snd.c —CAN BUS扩展格式中周期发送客户端測试程序, 与上面的程序配合使用
- test-recv-send.c —CAN BUS扩展格式中即周期发送又接收服务端測试程序, 与以下的程序配合使用
- test-send-recv.c —CAN BUS扩展格式中即周期发送又接收客户端測试程序, 与上面的程序配合使用
二、编译流程
1) 下载源代码
$ git clone https://git.oschina.net/fulinux/libcanbus.git
2) 进入libcanbus文件夹中
$ cd libcanbus
3) 查看tag版本号
$ git tag
4) 选择最新的tag
$ git checkout vx.x.x
注上面命令行中的"x"代表最新的tag版本号中的版本号号码
5) 配置选项, 检測环境、依赖关系等。然后编译
$ ./configure && make
注: 当然你能够依据实际须要,为configure加入选项,比如加上--enable-static选项以使能静态库编译选项
6) 安装(能够不用安装)
$ sudo make install
三、測试库套件使用
1) 进入util文件夹
$ cd util
**2) 首先载入虚拟can设备vcan0
$ sudo sh start.sh
**3) 在一个终端中执行接收函数
$ ./recv-test
**4) 在还有一个终端中执行发送函数
$ ./send-test
**5) 静态编译
注:静态编译的优点是能够直接在其它平台上执行,而不须要库文件。
$ make CFLAGS+=--static LDFLAGS+=-static
四、libcanbus库主页以及邮件列表
库主页用于具体说明库的相关内容。大家亦能够在issues和博客以下反馈你使用过程中所遇到的问题和想法。希望大家能积极的改进该库。并在git@oschina上发起合并请求。如果确有改进,我会将其合并到master分支上来。当然你首先要是这个站点的用户,而且须要fork该库项目。
你也能够直接通过邮件的方式将问题和想法发给我。
1)库主页
http://blog.csdn.net/fulinus/article/details/39938795
2)BUG提交
https://git.oschina.net/fulinux/libcanbus/issues **3)邮件列表
E-mail: fulinux@sina.com
author: fulinux