• 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

  • 相关阅读:
    centos7 查看启动ntp服务命令
    集群重启某一主机下所有osd down解决办法
    不卸载ceph重新获取一个干净的集群环境
    centos7 中文乱码解决方法
    ceph-deploy mon add 失败
    批量删除osd的shell脚本
    搭建自己的框架WedeNet(二)
    搭建自己的框架WedeNet(一)
    多线程总结
    C#中操作单个cookie和cookie字典
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6891415.html
Copyright © 2020-2023  润新知