资源经验分享自动驾驶(四十九)---------Kavser二次开发

自动驾驶(四十九)---------Kavser二次开发

2019-12-31 | |  84 |   0

原标题:自动驾驶(四十九)---------Kavser二次开发

原文来自:CSDN      原文链接:https://blog.csdn.net/zhouyy858/article/details/102817194


       我们知道CAN总线是连接车身各个模块之间的桥梁,通过协议通讯,在车辆标定和测试中很多情况是用上位机和车身相连,收发满足CAN总线的信号。这中间如何通讯呢?这就需要用到Kavser。

       Kvaser 公司是 CAN 测试设备的优秀供应商,提供的 API 函数,通过Kvaser公司的设备,结合Kvaser CANlib的 API 函数,可以方便的编写自己的 CAN 测试工具,对 CAN 网络的开发测试有很大的帮助。

      Kvaser 驱动地址:http://canlandbucket.s3-website-eu-west-1.amazonaws.com/productionResourcesFiles/bc6870e3-87de-4661-b023-be0eec981d53/kvaser_drivers_setup.exe

      Kvaser Canlib地址: http://canlandbucket.s3-website-eu-west-1.amazonaws.com/productionResourcesFiles/6b1cefab-0210-415a-9925-55d6088c4716/canlib.exe

1. Kvaser设备:

       常用的Kvaser设备型号如下: 

       Kvaser Hybrid 2xCAN/LIN:  标准USB接口和两个高速CAN或LIN通道,两个独立9针D-SUB CAN接口。

                03.png    

     Kvaser Leaf Light R v2 :采用标准USB2.0连接和高速CAN通道,配有9针D-SUB CAN接口,可处理标准和扩展CAN报文的传送和接收,时间戳精度为100微秒。

                 04.png

2. Kvaser CANLIB

      a. 信息服务类:

           05.png

       b. 通道开启和关闭:

             06.png

        c. 通道参数:

             07.png

         d. 接收消息:

             08.png

          e. 发送消息

             09.png

           f. 通知和等待:

             10.png

3. 操作实例:

       使用 Kvaser CANLIB 时,在文件开头,必须包含 #include <canlib.h>

       简单操作流程

  •    初始化驱动程序

  •    读 CAN 通道数目,获取通道句柄

  •    选择开启指定通道

  •    设定通道参数

  •    设定通道工作类型

  •    打开总线

  •    读 CAN 消息或写 CAN 消息

  •    关闭总线

  •    关闭通道

     代码实例:

void main(void)
{
    canHandle h;
    canInitializeLibrary(); 
    h = canOpenChannel(0, canWANT_EXCLUSIVE);
    if (h != canOK) {
        char msg[64];
        canGetErrorText((canStatus)h, msg, sizeof(msg));
        fprintf(stderr, "canOpenChannel failed (%s)n", msg);
        exit(1);
    }
    canSetBusParams(h, BAUD_250K, 0);
    canSetBusOutputControl(h, canDRIVER_NORMAL);
    canBusOn(h);
    canWrite(h, 123, "HELLO!", 6, 0);
    canWriteSync(h, 500);
    canBusOff(h);
    canClose(h);
}

 

 

 

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:自动驾驶(四十八)---------激光雷达简介

下一篇:自动驾驶(五十)---------Gtest测试

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...