qt 调用com_利用Qt做PCAN的二次开发

本文介绍了两种在Qt中调用PCAN接口的方法:一是利用Qt Serial Bus直接支持PCAN,通过'peakcan'连接CAN设备;二是通过加载PCAN Basic API的静态库文件或动态加载dll进行调用。详细步骤和注意事项均有所阐述,并提供了相关API文档链接及错误处理建议。
摘要由CSDN通过智能技术生成

方法一:Qt直接支持PCAN

    Qt Serial Bus已经直接支持PEAK的CAN卡了,USB和PCI接口的卡都已经支持。Qt Creator在如下位置可以直接找到Qt的CAN总线例程。帮助文档请参考Qt Serial Bus部分。

7f7153c1252b0ee17fe53144cdf454fa.png

    运行例程,就可以直接连接上我手中的两通道PCAN USB。

cad82366b7bbcd5d2b956824aa4a57da.png

    Qt的帮助文档描述如下:在createDevice时,第一个参数使用“peakcan”就可以连接到PCAN设备;第二个参数表示连接的通道,目前支持从usb0~usb15以及pci0~pci15,这和PCAN Basic API中的定义类似。

68ad2f585e279501b57cdc494684ba3a.png

212ade293cec795ace10b35941fd4781.png

请参考:https://doc.qt.io/qt-5/qtserialbus-peakcan-overview.html

方法二:加载PCAN Basic API的库文件

    Qt同样可以加载PCAN Basic API的库文件,函数说明请参考PEAK提供的API文档。

1)静态加载lib

    在Qt工程文件中添加:

    LIBS += -L$$PWD/VC_LIB/ -lPCANBasic

    就可以静态加载lib文件,这样就可以正常调用API中的函数了。

def199971d1263e7e293ccdd07cfc983.png

    请注意我的lib文件放置的位置是在根目录的VC_LIB文件夹中。

7b551148a5e09764b4fe26d6d49ff27e.png

    头文件PCANBasic.h需作如下更改,让Qt识别头文件中的参数类型:

73c1f4ba4dcd64a7673362f0b5a4256e.png

2)利用QLibrary动态加载dll

    仅给出调用CAN_Initialize函数的示例如下。更多的请参考QtLibrary的帮助文档。

66dee22cef681d5fcc45e96e90e19329.png

如果有问题,欢迎在评论区提问,或者发邮件到wz@hkaco.com。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值