资源简介
资源为QT显示调用周立功CAN卡实例。因为自己学习QT的时间并不长,有很多不懂的,为了解决qt调用CAN卡第三方库花了很长时间,后来发现其实很简单,只是步骤有些许繁琐。先将一个简单实例共享,希望为大家提供便利。关于调用第三方库可以访问博客

代码片段和文件信息
#include “mainwindow.h“
#include “ui_mainwindow.h“
#include
#include
#include
#include
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
ui(new Ui::MainWindow)
{
ui->setupUi(this);
devtype=4;//设备类型can2
devind=0;//设备索引号
res=0;
canind=1;//第2路CAN
reftype=0;//参数类型
bool ok;
VCI_ERR_INFO vei;
VCI_CAN_OBJ preceive[100];
VCI_CAN_OBJ psend;
int baud=0x10000000;//参数有关数据缓冲区地址首指针
//导入库
QLibrary lib(“usbcan.dll“);
if(true==lib.load())
qDebug()<<“dll load ok“;
QTimer *timer=new QTimer;
pOpenDevice = (VCI_OpenDevice *)lib.resolve(“VCI_OpenDevice“);
pCloseDevice = (VCI_CloseDevice *)lib.resolve(“VCI_CloseDevice“);
pInitCAN = (VCI_InitCAN *)lib.resolve(“VCI_InitCAN“);
pStartCAN = (VCI_StartCAN *)lib.resolve(“VCI_StartCAN“);
pTransmitCAN = (VCI_Transmit *)lib.resolve(“VCI_Transmit“);
pReceive = (VCI_Receive *)lib.resolve(“VCI_Receive“);
pGetReceiveNum = (VCI_GetReceiveNum *)lib.resolve(“VCI_GetReceiveNum“);
pClearBuffer = (VCI_ClearBuffer *)lib.resolve(“VCI_ClearBuffer“);
pReadErrInfoCAN = (VCI_ReadErrInfo*)lib.resolve(“VCI_ReadErrInfo“);
pResetCAN=(VCI_ResetCAN *)lib.resolve(“VCI_ResetCAN“);
pSetReference=(VCI_SetReference *)lib.resolve(“VCI_SetReference“);
pReadBoardInfo=(VCI_ReadBoardInfo *)lib.resolve(“VCI_ReadBoardInfo“);
pReadCANStatus=(VCI_ReadCANStatus *)lib.resolve(“VCI_ReadCANStatus“);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_openCanBtn_2_clicked()//启动设备并初始化
{
bool ok;
VCI_ERR_INFO vei;
VCI_CAN_OBJ preceive[100];
VCI_CAN_OBJ psend;
int baud=0x10000000;//参数有关数据缓冲区地址首指针
//打开设备
if(pOpenDevice(devtypedevindres)==STATUS_ERR )
{
if(pReadErrInfoCAN(devtypedevindcanind&vei)!=STATUS_ERR)
{
qDebug()<<“打开失败:“< }else
qDebug()<<“error“;
return;
}else
qDebug()<<“open successed“;
//初始化
VCI_INIT_CONFIG init_config;
init_config.Mode=0;//正常模式,1为只听模式
init_config.Filter=1;//滤波方式,单滤波
init_config.Timing0=01;//定时器0
//init_config.Timing1=1C;//定时器1
init_config.AccCode=0x10000000;//验收码
init_config.AccMask=0xFFFFFFFF;//屏蔽码
if(pInitCAN(devtypedevindcanind&init_config)==STATUS_ERR){
qDebug(“Init Error“);
pCloseDevice(devtypedevind);
return;
}else
qDebug()<<“Init successed“;
//读取设备信息
VCI_BOARD_INFO vbi;
if(pReadBoardInfo(devtypedevind&vbi)!=STATUS_ERR){
qDebug()<<“CAN通道数:“< qDebug()<<“硬件版本号:“< qDebug()<<“接口库版本号:“< qDebug()<<“中断号“< }
//设置设备参数
if(pSetReference(devtypedevindcanindreftype&baud)==STATUS_ERR){
qDebug(“set reference error“);
pCl
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5194 2017-09-20 11:10 ControlCAN.h
文件 6079 2017-10-23 15:08 mainwindow.cpp
文件 2519 2017-09-25 13:42 mainwindow.h
文件 45056 2016-10-12 00:46 usbcan.dll
文件 53248 2005-07-01 10:13 ControlCAN.dll
----------- --------- ---------- ----- ----
112096 5
- 上一篇:boson6.0注册机
- 下一篇:标准计算器及科学计算器源代码
相关资源
- Trojan-Qt5-Windows-0.0.4.rar
- 酒店管理系统基于Qt Creator5)
- vtk QT做的三维地质可视化系统2of2
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- QT,JPEG解码源代码(已完成)
- Qt 播放音频文件
- Qt 读取16进制的data文件
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
- QT酷炫界面开发指南《QmlBook》
- 周立功PCI CAN卡LINUX驱动ubuntu16.04内核
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
- qtnribbon2破解
- Qt软件开发 完整项目代码
- MQTT_3.1protocol_Specific中文版
- 在QT中使用RTP进行视频的采集和传输
- Mini6410 Qt4和Qtopia编程开发指南
- Qt实现Code39条形码
- qt_ffmpeg_mp4_export_and_import.zip
评论
共有 条评论