The PeakCAN plugin encapsulates the low-level API to work with the PEAK-System CAN 适配器。
This plugin requires the PCAN device drivers and the pcanbasic library (pcanbasic.dll under Windows).
At first it is necessary to check that QCanBus provides the desired plugin:
if (QCanBus::instance()->plugins().contains(QStringLiteral("peakcan"))) { // plugin available }
Where peakcan 是插件名称。
Next, a connection to a specific interface can be established:
QCanBusDevice *device = QCanBus::instance()->createDevice( QStringLiteral("peakcan"), QStringLiteral("usb0")); device->connectDevice();
Where usb0 is the active CAN interface name. The PeakCAN plugin supports 16 USB interfaces from usb0 to usb15 and 16 PCI interfaces from pci0 to pci15 .
注意: Only the USB and PCI adapters are currently supported by this plugin.
The device is now open for writing and reading CAN frames:
QCanBusFrame frame; frame.setFrameId(8); QByteArray payload("A36E"); frame.setPayload(payload); device->writeFrame(frame);
The reading can be done using the readFrame() 方法。 framesReceived() signal is emitted when at least one new frame is available for reading:
QCanBusFrame frame = device->readFrame();
PeakCAN supports the following configurations that can be controlled through setConfigurationParameter() :
配置参数键 | 描述 |
---|---|
QCanBusDevice::BitRateKey | Determines the bit rate of the CAN bus connection. The following bit rates are supported: 5000, 10000, 20000, 33000, 47000, 50000, 83000, 95000, 100000, 125000, 250000, 500000, 800000, 1000000. Note that this configuration parameter can only be adjusted while the QCanBusDevice is not connected. |