本文主要是介绍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
第二步把dll和lib文件放入工程目录,同时注意把.h文件添加进来即可。
这个时候编译就先尝试编译看能否编译通过。
接下来查看编程文档,可以在TSmaster中打开
可以先看第5章节。了解其使用的一个步骤
这里主要提到的一个点下面这个函数,如果使用同星和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)
第二种可以直接调用同星的硬件配置界面。注意升级最新版本的Tsmaster软件,下载地址
http://www.tosun.tech/TOSUNSoftware/TSMaster_Setup_beta.exe
打开同星界面的函数tsapp_show_tsmaster_window。
传入字符串Hardware,即可打开。
tsapp_show_tsmaster_window("Hardware",1);
调用这句话就直接打开同星的硬件配置界面
这里有个坑就是每次使用其他家的can卡都需要再次点击选择厂商。
跳出下面界面然后勾选所有,点击确定才会弹出其他家的识别
最后确定完毕关闭这个窗口就硬件配置成功了。
注意关闭界面。
连接硬件就可以使用同星的API函数了。同星提供了很多api函数,目前没有时间一一研究。
发送数据的api很简单就是使用。使用
tsapp_transmit_can_async();
下面就是把2个can卡连接查看总线数据。
很清楚的查看到已经发送成功了
获取demo代码方式
关注我的公众号爱捣鼓的程序猿(可以微信右上角添加朋友点击公众号输入:aidg_cxy即可)回复
Tsmaster即可获取下载链接
这篇关于QT调用TSmaster库来发送can的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!