QT调用TSmaster库来发送can

2023-11-22 10:40
文章标签 qt 调用 发送 库来 tsmaster

本文主要是介绍QT调用TSmaster库来发送can,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

QT调用TSmaster库来发送can


自己一直使用的上位机开发都是使用的qt,Visual Studio使用的C#语言奈何自己确实不会,然后调各种库,有点吃力。还是C/C++的QT更适合自己。
下面介绍通过QT调用TSMaster.dll来通过同星来发送can网络数据。同星集合了ZLG/CANOE/PCAN等主流的can卡驱动,那么就不需要自己在写驱动。
下面介绍下QT调用Tmaster库。

第一步,创建一个qt工程,在工程添加这句话

win32: LIBS += -L$$PWD -lTSMaster

Alt

第二步把dll和lib文件放入工程目录,同时注意把.h文件添加进来即可。

Alt

这个时候编译就先尝试编译看能否编译通过。

接下来查看编程文档,可以在TSmaster中打开

Alt

可以先看第5章节。了解其使用的一个步骤

Alt

这里主要提到的一个点下面这个函数,如果使用同星和VECTOR不需要使用下面这个函数,如果使用zlg、pcan这些can卡就需要使用下面这个函数了。这里也是关键点。

/当你使用非同星或者CANOE就需要调用这个函数,选取哪个can卡就哪个置1/

tsapp_set_vendor_detect_preferences(0,0,1,0,0,0);

硬件连接有2种方式

第一种使用下面这个函数我们需要了解TLIBTSMapping这个结构体。

对其赋值即可。然后看文档也有对波特率这些参数设置的函数

TLIBTSMapping m;
tsapp_set_mapping(&m)

Alt

第二种可以直接调用同星的硬件配置界面。注意升级最新版本的Tsmaster软件,下载地址

http://www.tosun.tech/TOSUNSoftware/TSMaster_Setup_beta.exe

打开同星界面的函数tsapp_show_tsmaster_window。

传入字符串Hardware,即可打开。

tsapp_show_tsmaster_window("Hardware",1);

Alt

调用这句话就直接打开同星的硬件配置界面
Alt

这里有个坑就是每次使用其他家的can卡都需要再次点击选择厂商。

跳出下面界面然后勾选所有,点击确定才会弹出其他家的识别
Alt
最后确定完毕关闭这个窗口就硬件配置成功了。

注意关闭界面。

连接硬件就可以使用同星的API函数了。同星提供了很多api函数,目前没有时间一一研究。

发送数据的api很简单就是使用。使用

tsapp_transmit_can_async();

Alt
下面就是把2个can卡连接查看总线数据。
Alt
很清楚的查看到已经发送成功了

获取demo代码方式
关注我的公众号爱捣鼓的程序猿(可以微信右上角添加朋友点击公众号输入:aidg_cxy即可)回复
Tsmaster即可获取下载链接
在这里插入图片描述

这篇关于QT调用TSmaster库来发送can的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/409570

相关文章

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

Java调用Python脚本实现HelloWorld的示例详解

《Java调用Python脚本实现HelloWorld的示例详解》作为程序员,我们经常会遇到需要在Java项目中调用Python脚本的场景,下面我们来看看如何从基础到进阶,一步步实现Java与Pyth... 目录一、环境准备二、基础调用:使用 Runtime.exec()2.1 实现步骤2.2 代码解析三、

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

Python如何调用另一个类的方法和属性

《Python如何调用另一个类的方法和属性》在Python面向对象编程中,类与类之间的交互是非常常见的场景,本文将详细介绍在Python中一个类如何调用另一个类的方法和属性,大家可以根据需要进行选择... 目录一、前言二、基本调用方式通过实例化调用通过类继承调用三、高级调用方式通过组合方式调用通过类方法/静

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四

Qt中实现多线程导出数据功能的四种方式小结

《Qt中实现多线程导出数据功能的四种方式小结》在以往的项目开发中,在很多地方用到了多线程,本文将记录下在Qt开发中用到的多线程技术实现方法,以导出指定范围的数字到txt文件为例,展示多线程不同的实现方... 目录前言导出文件的示例工具类QThreadQObject的moveToThread方法实现多线程QC

Python跨文件实例化、跨文件调用及导入库示例代码

《Python跨文件实例化、跨文件调用及导入库示例代码》在Python开发过程中,经常会遇到需要在一个工程中调用另一个工程的Python文件的情况,:本文主要介绍Python跨文件实例化、跨文件调... 目录1. 核心对比表格(完整汇总)1.1 自定义模块跨文件调用汇总表1.2 第三方库使用汇总表1.3 导