libcanbus官方主页

摘要:
libcanbuscanbus扩展格式库项目简要分析注意:在本文中,如果您已经拥有linux开发环境,请确保在使用此库时使用标记版本号。Target=libcanbus-1.0项目采用GPL许可协议。声明单个结构canbus H-库中的公共头文件、声明函数和结构等。2.util文件夹用于存储测试库$MakeCFLAGS+=--staticCDFLAGS+=-static IV中的套件程序。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官方主页》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C语言编程基础Linux中的TortoiseSVN下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Protobuf动态解析那些事儿

收到protobuf数据后,如何自动创建特定的ProtobufMessage对象,然后对其进行反序列化。有关Protobuf的技术介绍,请参阅Google协议缓冲区的在线帮助页面或IBM developerworks上的文章“Google协议缓冲的使用和原理”。protobuffer的动态分析并没有在谷歌protobuffer官网上介绍。有关实现,请参阅淘宝...

使用 @Query 注解实现查询

2")ListfindByPriceRange;/***参数绑定@Param注解注入参数*/@QueryPersonreadPersonByLastNameAndEmailThroughName;//使用like@Query("selectpfromPersonpwherelastNamelike?...

OpenWrt路由器通过LuCI界面实现Guest SSID功能

此外,OpenWrt路由器上的访客SSID不会受到主SSID的MAC地址过滤功能的影响,这是番茄路由器的优势。...

Qt使用镜像源快速安装与更新

如果我们选择在线安装模式,那就更麻烦了,因为下载速度一般不慢。事实上,在中国,Qt图片来源很多,但很少有人使用。原因是Qt图像源做得不好。如果我们导入它,它将自动链接到官方图像源。因为它已经从官方来源同步,没有更改,所以我们无法逐个添加补丁,这太麻烦了。好吧,让我停止胡说八道。让我告诉你如何使用国产Qt图像源。...

selenium自动化之鼠标操作

,selenium为我们提供了一个处理此类事件的类——ActionChains。ActionChains可以模拟鼠标操作,例如单击、双击、右键单击、拖动等。鼠标移动时演示页面的截图:demo1.使用鼠标移动到WriteonOver按钮的顶部。python脚本如下:读取鼠标移动代码,首先定义浏览器驱动程序,最大化窗口,打开测试页面URL,定位到测试按钮顶部,定...

C# Winform Treeview控件

WinformTreeview控件目录手动添加节点。丰富节点数据并清除所有节点信息。选择指定的节点。函数GetAllTreeNodeWinformTreeview控件手动添加节点//在根节点下添加根节点和子节点TreeNodeCollectionRoot=treeView1.Nodes;TreeNodecurNode=根。添加(“良好”);curN(电流)...