方法一:Qt直接支持PCAN
Qt Serial Bus已经直接支持PEAK的CAN卡了,USB和PCI接口的卡都已经支持。Qt Creator在如下位置可以直接找到Qt的CAN总线例程。帮助文档请参考Qt Serial Bus部分。
运行例程,就可以直接连接上我手中的两通道PCAN USB。
Qt的帮助文档描述如下:在createDevice时,第一个参数使用“peakcan”就可以连接到PCAN设备;第二个参数表示连接的通道,目前支持从usb0~usb15以及pci0~pci15,这和PCAN Basic API中的定义类似。
请参考: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中的函数了。
请注意我的lib文件放置的位置是在根目录的VC_LIB文件夹中。
头文件PCANBasic.h需作如下更改,让Qt识别头文件中的参数类型:
2)利用QLibrary动态加载dll
仅给出调用CAN_Initialize函数的示例如下。更多的请参考QtLibrary的帮助文档。
如果有问题,欢迎在评论区提问,或者发邮件到wz@hkaco.com。