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
libcanbus官方主页的更多相关文章
- libmsgque官方主页
libmsgque 消息队列(MESSAGE QUEUE)库项目简析 注: 本文如果你已经有linux开发环境 请确保你使用本库时是tag版本号. target=libmsgque-1.0 本项目採用 ...
- 音视频下载Chrome插件 官方主页
2019年3月20日前的旧版有不能下载的情况,请使用下面的新版 音视频下载是个点击图标后就能下载网页里正在播放的音视频文件的软件 下载:官方下载 百度网盘 Chr ...
- [python]python官方原版编码规范路径
1.进入python官方主页:https://www.python.org/ 2.按如下图进入PEP Index 3.选择第8个,即为python的规范
- UE4新手引导之下载和安装虚幻4游戏引擎
1) 进入虚幻4的官方主页(https://www.unrealengine.com/) 这里你可以获得关于虚幻4的最新资讯,包括版本更新.博客更新.新闻和商城等.自2015年起,该引擎已经提供免费下 ...
- mac下安装及配置tomcat
mac下的软件不像windows下的程序那样写注册表,对于tomcat的安装来说,在mac下是名符其实的绿色软件,具体操作如下: 1.到 apache官方主页 下载完整 tar.gz文件包.(没有专门 ...
- Postman接口调试神器-Chrome浏览器插件
首先大家可以去这个地址下载 Postman_v4.1.3 这个版本,我用的就是这个版本 http://chromecj.com/web-development/2014-09/60/download. ...
- EasyPR--开发详解(6)SVM开发详解
在前面的几篇文章中,我们介绍了EasyPR中车牌定位模块的相关内容.本文开始分析车牌定位模块后续步骤的车牌判断模块.车牌判断模块是EasyPR中的基于机器学习模型的一个模块,这个模型就是作者前文中从机 ...
- RSS阅读器
RSS阅读器(Really Simple Syndication)是一种软件/程序,实质都是为了方便地读取RSS和Atom文档.大概就是实现了订阅式阅读,推送用户感兴趣的新闻,博客等(比如等某位博主更 ...
- Java导出excel
一.介绍 常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际的开发中,很多时候需要实现导入.导出Excel的应用. ...
随机推荐
- C#中通过js实现个人用户和非个人用户的登陆
实现用户的登录功能,这里举一个个人和非个人用户的登录的例子 前台代码: <ul class="login_list clearfix"> <li> < ...
- 如何使用SQL Developer创建数据库连接
SQL Develope启动后,需要创建一个数据库连接,只有创建了数据库连接,才能在该数据库的方案中创建.更改对象或编辑表中的数据. 创建数据库连接的步骤如下. (1)在主界面左边窗口的“连接”选项卡 ...
- 使用Visio—UML画类图
在一个VS工程中,由于类的个数较多,而参数描述不是特别清晰.若此工程的生命周期较长,则有必要对工程进行完整分析,给出完整的文档.需要画出类图,并对每个成员进行详细描述. 一.画出类图 在VIsio中, ...
- 分块编码(Transfer-Encoding: chunked)VS Content-length
参考链接: HTTP 协议中的 Transfer-Encoding 分块传输编码 https://www.cnblogs.com/xuehaoyue/p/6639029.html 一.背景: 持续连接 ...
- 输出字符串格式化/ Linq对数组操作 /一个按钮样式
textBox1.Text = dateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss"); , , , , , , , , , , ...
- Python3中替代Python2中cmp()函数的新函数(gt,ge,eq,le,lt)
原文出处:http://blog.csdn.net/Artprog/article/details/52197779 Python3中已经不能使用cmp()函数了,被如下五个函数替代: import ...
- Python—字符串+变量
字符串转义字符格式化内建函数(后延)转义字符用一个特殊的方法表示出一系列不方便写出的内容,比如回车键,换行键,退格键借助反斜杠字符,一旦字符串中出现反斜杠,则反斜杠后面一个火几个字符表示已经不是原来的 ...
- 【转载】解决方案:git@github.com出现Permission denied (publickey)
遇到的问题 今天心血来潮,想将intellij上的项目代码放到GitHub上管理. 在进行添加远程库的时候,出现了:git@github.com出现Permission denied (publick ...
- 15.5.3 【Task实现细节】状态机的结构
状态机的整体结构非常简单.它总是使用显式接口实现,以实现.NET 4.5引入的 IAsync StateMachine 接口,并且只包含该接口声明的两个方法,即 MoveNext 和 SetState ...
- CF135E Weak Subsequence (计数问题)
题目传送门 题目大意:对于给定字符集大小k,求有多少个字符串满足它的最长[既是子串又是弱子序列]的长度为w: 神仙计数题 打表发现,对于字符串S而言,它的最长[既是子串又是弱子序列],一定存在一个对应 ...