QT二次开发Kvaser

2023-05-16

前言

最近工作中需要自己去开发一个上位机,上位机的通讯方式是CAN,利用Kvaser将CAN信息传递到上位机,所以就需要二次开发Kvaser,保证上位机的正常通讯。
原本是本着前人栽树,后人乘凉的态度,去网络上查找相关的源码,不过很可惜的是,我只找到部分关于C#的源码,而且网络上很少有相关的资料,这里对应的API函数可以去官网看看,里面的内容还是挺详细,对于英文不是很好的同学,可以参考这份文件《Kvaser API学习心得》。这篇博客也有一些资源链接

准备工作

1.Kvaser一条;
2.Kvaser驱动,这个可以去Kvaser官网下载;
3.安装QT;
4.USB-CAN盒,用于接受和发送CAN报文,主要是为了验证我的数据发送和接收是否正确;

步骤

前面的铺垫做好以后,可以正式来开发

1.导入CAN链接库

在驱动文件夹中找到canlib文件夹
在这里插入图片描述
打开canlib-》Lib-》MS,找到canlib32.lib
在这里插入图片描述
将这个文件和canlib-》INC中canlib.h一起复制到项目文件夹下
在这里插入图片描述

2.初始化Kvaser

    canInitializeLibrary();//kvaser初始化
    h = canOpenChannel(0,canOPEN_EXCLUSIVE);//打开通道0,可以参照上述提到的Kvaser API学习心得文件中查看API详细说明
    if(h == canOK)
    {
        canSetBusParams(h,BAUD_500K,0,0,0,0,0);
        canSetBusOutputControl(h,canDRIVER_NORMAL);
        canBusOn(h);
    }

3.发送数据

//这里之发了3位数据,为了验证发送是否正确
	char msg[64];
    msg[0] = 0;
    msg[1] = 1;
    msg[2] = 2;
    h = canWrite(h,0x123,msg,3,0);

4.接受数据

	status = canRead(h,&id,&msg,&dlc,&flag,&time1);
    if(status == canOK)
     {
         for(int i = 0; i < 8; i++)
         {
             msg_byte[i] = msg[i] + 0x00;//这里转换成了十进制

         }
     }

5.结果

本博客主要为了验证Kvaser的通信是否正常,所以界面没有去做设计,只有一个发送按钮,接收的数据直接输出到了控制台。
实验界面:
在这里插入图片描述
发送:
发送的数据在代码中:[0,1,2],所以我们看到USB-CAN的结果。
在这里插入图片描述
接收
数据由USB-CAN发送出,接受到的数据我直接用qDebug输出到了控制台(这里我做了进制的转换,所以显示的数据为十进制,比如发送10,显示出来的会是16)
在这里插入图片描述
在这里插入图片描述
源码
https://download.csdn.net/download/qq_37859760/12543795

收到部分私信说有点不理解,如果是文章逻辑写的有问题,可以私信反馈哦,一定虚心接收建议哒;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT二次开发Kvaser 的相关文章

  • CATIA二次开发CAA安装

    安装资料在网盘里 Win7 64位 以下软件均已管理员身份运行 xff1a 1 安装vs2008 gt 自定义安装 gt 选择要安装的功能 gt Visual C 43 gt x64编译器和工具 1 2安装SP1 2 安装CATIA V5
  • 基于Python语言的Abaqus二次开发-求最大Mises应力

    利用python访问Odb文件 xff0c 求Mises应力的最大值 下面说明了如何从系统提示符运行示例脚本 该脚本将在输出数据库中搜索元素集 ALL ELEMENTS xff0c 以查找冯米塞斯应力的最大值 xff1a from odbA
  • MAVROS二次开发(二)(三)添加自定义消息

    转载自 xff1a https blog csdn net qq 38981124 article details 104861800 spm 61 1001 2014 3001 5501 MAVROS二次开发 xff08 二 xff09
  • kvaser在linux下的二次开发

    kvaser在linux下的二次开发 linux下kvaser的驱动和SDK包安装 下载连接 http www kvaser cn software 7330130980754 V5 13 0 linuxcan tar gz 安装过程 解压
  • 海康威视网络摄像头SDK二次开发(QT版本)

    暂时使用到的主要功能有四个 xff1a 1 连接相机 xff0c 2 实时显示 xff0c 3 取图 xff08 bmp格式 xff09 xff0c 4 关闭相机 在官网下载对应的win64的SDK xff0c 在库文件中运行demo ex
  • jupyter-notebook二次开发

    背景 公司内部提供给算法人员用于模型训练的平台开发需求中提出了嵌入Jupyter Notebook模块 xff0c 而Jupyter Notebook是开源的 xff0c 方便后续对部分细节进行功能定制和优化 xff0c 需要对其进行调研
  • 【PX4 二次开发 初级】 02 飞控软硬件体系

    PX4 二次开发初级 PX4 飞控软硬件体系 飞控硬件体系PIXHAWK 控制硬件 软件体系PX4 体系原生固件原生固件官网原生固件地面站 APM 体系APM官网 xff1a 原生固件地面站 特点 标题 xff1a PX4二次开发教程 xf
  • kvaser二次开发

    总结归纳 xff1a 实施步骤 xff1a 通过浏览网上的大量关于can总线开发的资料 xff0c 建立起对can总线软件开发的大致流程记录优质资料将开发过程流程化通过官方资料研究技术细节开工 技术要点 xff1a can协议 xff0c
  • QT二次开发Kvaser

    前言 最近工作中需要自己去开发一个上位机 xff0c 上位机的通讯方式是CAN xff0c 利用Kvaser将CAN信息传递到上位机 xff0c 所以就需要二次开发Kvaser xff0c 保证上位机的正常通讯 原本是本着前人栽树 xff0
  • MAVROS二次开发(二)(三)添加自定义消息

    MAVROS二次开发 二 MAVROS消息添加 1 自定义rostopic消息 路径 xff1a catkin ws src mavros mavros msgs msg 自定义消息文件名称 xff1a CrawlControlStatus
  • MAVROS二次开发(五)进行测试

    MAVROS二次开发 五 进行测试 1 测试环境 PX4 xff1a v1 10 1 xff08 含自定义mavlink消息收发 xff09 ROS xff1a KineticUbuntu xff1a 16 04LTSQGC xff1a S
  • 海康威视工业相机SDK二次开发(VS+Opencv+QT+海康SDK+C++)(二)

    本文接上次的博客海康威视工业相机SDK二次开发 xff08 VS 43 Opencv 43 QT 43 海康SDK 43 C 43 43 xff09 xff08 一 xff09 xff0c 上个博客中并未用到QT xff0c 本文介绍项目内
  • PX4二次开发(一:PX4架构)

    概念 本节包含有关PX4系统架构和其他核心概念的主题 目录 PX4架构 PX4飞行栈架构 事件接口 飞行模式 飞行任务 控制分配 xff08 混控Mixing xff09 PWM限制状态机 系统启动 PX4 SD卡布局 PX4系统架构 以下
  • kvaser在linux中的应用

    本文主要讲解 xff0c kvaser如何使用简单socketcan 1 硬件 kvaser USBcan Pro 2xHS v2 2 准备系统 ubuntu 16 04 由于项目需要在程序中使用socketcan xff0c 所以需要将k
  • QGC4.1.2二次开发(2)QGC连接与数据收发

    文章目录 前言一 连接原理二 连接过程与数据收发1 连接过程 xff08 以串口为例 xff09 2 数据发送 总结 前言 QGC连接无人机飞控时支持多种连接方式 xff0c 并且可以自动连接 xff0c 不由让人好奇它的实现原理 xff0
  • 关于OpenAI的Gym中的step方法

    文章目录 导读 Gym的step方法 最后的话 导读 本文就只是关于step方法的参数与返回值的一个小小的学习笔记 这也是没有第一时间查官方文档而造成的时间消耗 所以 这篇博客就是逼自己查一下 Gym的step方法 既然都已经用pip下载了
  • DIY个人智能家庭网关—— 路由器篇之安装python

    Python是一种解释型 面向对象 动态数据类型的高级程序设计语言 在openwrt上进行二次开发编写自己的程序 python肯定是最方便最快捷的编程语言 因为它是解释型语言 无需openwrt的编译环境 只要安装好了python就可以直接
  • 数据库文档管理化开源项目工具SmartSQL

    数据库文档管理化开源项目工具SmartSQL 为何写该博文 由于这段时间需要理清软件的相关表结构 以及在客户端操作时使用 SQL Server Profiler 来检索一些简单的CURD sql语句 为了更好高效的理清内部的一些表结构 视图
  • 松灵机器人——ROS下的CAN通讯调试(内含所需调用包,都是操作步骤)

    松灵机器人 ROS下的CAN通讯调试 1 代码包地址 2 硬件准备 2 1 SCOUT MINI 小白车 尾部航空插头 CAN TO USB适配器 2 2 接线 3 具体操作 3 1 ROS安装和环境设置 3 2 配置 CAN TO USB
  • .NET 最便捷的Log4Net日志记录器

    最便捷的Log4Net使用方法 LOG4NET 配置日志记录器 开始 引用nuget LOG4NET 配置日志记录器 Apache log4net 库是一个帮助程序员将日志语句输出到各种的工具 的输出目标 log4net是优秀的Apache

随机推荐

  • 算法题型:滑动窗口(leetcode 209)

    一 209 长度最小的子数组 难度中等 题目描述 给定一个含有 n 个正整数的数组和一个正整数 s xff0c 找出该数组中满足其和 s 的长度最小的连续子数组 如果不存在符合条件的连续子数组 xff0c 返回 0 示例 输入 s 61 7
  • 前端:bootstrap table表格属性、列属性、事件、方法

    目录 一 使用前提 二 基本属性 列参数 事件 方法 多语言 一 使用前提 1 在html中引用table相应的包 lt link rel 61 34 stylesheet 34 type 61 34 text css 34 href 61
  • 从0开始学SLAM的各种问题

    一 关于更改vscode自带终端文字间隔 xff0c 字体大小 文件 gt 首选项 gt 设置 gt 搜索 终端 gt 找到Terminal gt Integrated Font Family gt 更改为monospace即可 找到Ter
  • python —— 变量后面加个下划线_是啥意思

    前后没有下划线的是公有方法 前边有一个下划线的为私有方法或属性 xff0c 子类无法继承 前边有两个下划线的 一般是为了避免于子类属性或者方法名冲突 xff0c 无法在外部直接访问 前后都有双下划线的为系统方法或属性 后边单个下划线的可以避
  • SD卡烧录镜像后插电脑不显示问题

    起因 起因是给sd卡刷入jetson nano的ROS机器人镜像 xff0c 之后读卡器插入电脑就不显示了 解决方法 xff1a xff08 1 xff09 Ubuntu下 xff1a https blog csdn net yandaqi
  • 【码农本色】用数据解读我的2014

    转眼2014就过去了 xff0c 不禁感叹又老了一岁的同时 xff0c 却发现已经快研究生毕业了 xff0c 趁着这个活动简单总结下2014 1 实习篇 2014年一月份拿到了人生第一个实习offer xff0c 在sony这样的大公司做a
  • Windows下QGroundControl开发问题汇总

    Windows下QGroundControl二次开发问题汇总 前段时间因为项目要求涉及了一下QGC地面站的二次开发 xff0c 开发难度先不提 xff0c 环境搭建遇到了很多问题 xff0c 几乎网上能搜到的问题都遇到了一遍 xff0c 在
  • 初识Git——Git、Github、Gitee的关系

    想要自己做一些有意义的东西 xff0c 甚至去参加一些互联网比赛 xff0c 就必须要学会使用Git 最初了解Git xff0c 同时听到了Git Github Gitee xff08 码云 xff09 xff0c 于是竭力想要弄明白三者之
  • UCOSII原理与应用----基本概念和任务

    1 实时操作系统是什么 实时操作系统 xff1a 能够使计算机系统在一个规定的时间内及时响应外部请求并及时控制设备和实时任务协调运行的操作系统 实时系统有两个基本要求 xff1a 1 实时系统的计算必须产生正确结果 xff0c 称逻辑或功能
  • UCOSII原理与应用----任务调度

    任务调度 xff1a UCOSII任务调度思想 xff1a 近似地每时每刻让优先级最高的就绪任务处于运行状态 具体上 xff0c 采用系统或用户任务调用系统函数及执行中断服务程序结束时来调用调度器 xff0c 以确定应该运行的任务并运行它
  • Docker的使用(docker pull拉取镜像失败问题解决)

    在docker拉取Nginx镜像过程中 xff0c 速度慢 xff0c 或者不成功 报错代码 xff1a Error response from daemon Get https registry 1 docker io v2 net ht
  • Hexo-Next 博客搭建

    lt span style 61 34 color 777777 34 gt title Hexo 搭配 GitHub 建立博客 选用 nexT 主题 date 2021 04 26 19 21 20 categories 兴趣 网站 博客
  • 进阶之路:Prometheus —— 技巧篇

    前言 入门篇 xff1a 从零开始 xff1a Prometheus 理解篇 xff1a 进阶之路 xff1a Prometheus 理解篇 本文记录了一些我在使用Prometheus的过程中的技巧 xff0c 以后还会随着使用的深入不定期
  • Linux系统如何离线安装软件

    Linux系统如何离线安装软件 前言 xff08 一堆废话 xff0c 不看也罢 xff09 功能需求具体操作 前言 xff08 一堆废话 xff0c 不看也罢 xff09 升学足足两个月了 xff0c 但是截至目前 xff0c 还没有认认
  • python中出现变量前后带下划线的是什么意思

    前后没有下划线的是公有方法 xff0c 前边有一个下划线的为私有方法或属性 xff0c 子类无法继承 xff0c 前边有两个下划线的 一般是为了避免于子类属性或者方法名冲突 xff0c 无法在外部直接访问 前后都有双下划线的为系统方法或属性
  • 普通程序员如何入门AI

    毫无疑问 xff0c 人工智能是目前整个互联网领域最火的行业 xff0c 随着AlphaGo战胜世界围棋冠军 xff0c 以及各种无人驾驶 智能家居项目的布道 xff0c 人们已经意识到了AI就是下一个风口 当然 xff0c 程序员是我见过
  • 扩展卡尔曼线性化近似与仿真

    扩展卡尔曼线性化近似与仿真 关于线性化直入主题 上例子小车运动方式 xff1a 沿着圆心在原点 半径为5的圆进行匀速圆周运动 xff0c 其角速度为w 即每次更新变化w个角度 仿真结果总结Matlab测试代码 xff08 EKF test
  • Ubuntu挂载硬盘

    Ubuntu挂载硬盘 1 查看磁盘信息命令 fdisk l 2 查看硬盘的UUID命令sudo blkid 3 mkdir创建挂载点WorkpaceP2和WorkpaceP2 4 永久性挂载分区 xff0c 修改分区文件 xff0c 输入如
  • FreeRTOS——创建任务

    FreeRTOS的设计小巧且简易 xff0c 整个核心代码只有3到4个C文件 xff0c 为了让代码容易阅读 移植和维护 xff0c 大部分的代码都是以C语言编写 xff0c 只有一些函数 xff08 多数是架构特定排班副程序 xff09
  • QT二次开发Kvaser

    前言 最近工作中需要自己去开发一个上位机 xff0c 上位机的通讯方式是CAN xff0c 利用Kvaser将CAN信息传递到上位机 xff0c 所以就需要二次开发Kvaser xff0c 保证上位机的正常通讯 原本是本着前人栽树 xff0