Using TinyCAN Plugin

TinyCAN插件封装了低级API,以便与MHS Elektronik CAN适配器一起工作。
注意:TinyCAN适配器使用虚拟串行端口。要与Linux中的TinyCAN适配器通信,用户必须具有适当的访问权限。通常,这些权限授予“dialout”组中的所有用户。

Creating CAN Bus Devices

首先,有必要检查QCanBus是否提供所需的插件:

  if (QCanBus::instance()->plugins().contains(QStringLiteral("tinycan"))) {
      // plugin available
  }

其中tinycan是插件名。
接下来,可以建立到特定接口的连接:

  QCanBusDevice *device = QCanBus::instance()->createDevice(
      QStringLiteral("tinycan"), QStringLiteral("can0.0"));
  device->connectDevice();

其中can0.0为活动CAN接口名称。TinyCAN目前只提供接口can0.0,它映射到TinyCAN插件中的INDEX_CAN_KANAL_A。
注意:函数availableDevices()目前总是返回一个设备“can0.0”,因为目前没有办法检测可用的CAN适配器。
注意:这个插件目前只支持USB适配器。
设备现在可以读写CAN帧:

  QCanBusFrame frame;
  frame.setFrameId(8);
  QByteArray payload("A36E");
  frame.setPayload(payload);
  device->writeFrame(frame);

读取可以使用readFrame()方法完成。当至少有一个新的帧可供读取时,就会发出framesReceived()信号:

  QCanBusFrame frame = device->readFrame();

TinyCAN支持以下配置,可以通过setConfigurationParameter()控制:

Configuration parameter keyDescription
QCanBusDevice::BitRateKey确定CAN总线连接的比特率。支持的比特率为:10000、20000、50000、100000、125000、250000、500000、800000、1000000。

TinyCAN支持以下附加功能:

  QCanBusDevice::resetController() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值