当前位置: 首页 > news >正文

网站建设技术有哪些别人恶意点击我们竞价网站

网站建设技术有哪些,别人恶意点击我们竞价网站,做视频背景音乐专用网站,高密制作网站一.USBCAN-II/II介绍 USBCAN-II/II 是一款常用的 USB-CAN 转换器,广泛应用于汽车电子、工业自动化等领域。以下是使用该设备的一般步骤和方法: 1. 硬件连接 连接设备:将 USBCAN-II/II 的 USB 接口连接到计算机的 USB 端口。 连接 CAN 网络…

一.USBCAN-II/II+介绍

USBCAN-II/II+ 是一款常用的 USB-CAN 转换器,广泛应用于汽车电子、工业自动化等领域。以下是使用该设备的一般步骤和方法:

1. 硬件连接

连接设备:将 USBCAN-II/II+ 的 USB 接口连接到计算机的 USB 端口。
连接 CAN 网络:将 CAN 端口连接到 CAN 总线,确保接线正确,避免极性接反。
在这里插入图片描述

2. 安装驱动程序

下载驱动:访问设备制造商的网站,下载适用于操作系统的驱动程序。
安装驱动:按照安装向导的指示完成驱动程序的安装。
下载地址:https://www.zlg.cn/can/down/down/id/255.html
在这里插入图片描述

3. 配置软件

选择软件:可以使用设备附带的软件,或者使用其他支持 CAN 协议的工具(如 CanTest、CANalyzer、PCAN-View 等)。
设置参数:在软件中配置 CAN 通信参数,如波特率、数据格式等。

  • 这里以CanTest举例
    在这里插入图片描述

4. 进行数据通信

发送数据:使用软件界面发送 CAN 消息,通常需要输入消息 ID 和数据内容。
接收数据:监控接收到的 CAN 消息,软件界面通常会显示接收到的所有数据。

5. 故障排查

检查连接:确保所有连接正确,CAN 总线的终端电阻是否安装。
查看日志:软件通常提供日志功能,可以帮助分析通信问题。

6. 断开连接

安全断开:在完成测试后,确保安全断开 USB 和 CAN 连接,避免数据丢失或设备损坏。
注意事项
电源要求:确保 CAN 网络供电正常。
波特率一致性:确保所有连接的设备波特率一致。
软件兼容性:选择与 USBCAN-II/II+ 兼容的软件工具。

二.Qt操作USBCAN-II/II+

在使用 Qt 操作 USBCAN-II/II+ 设备时,通常需要通过相关的库进行 CAN 通信。以下是一个简单的示例,展示如何在 Qt 中使用 USBCAN-II/II+ 进行基本的 CAN 消息发送和接收。

1. zlgcan 环境准备

确保你已经安装了 Qt 和相应的 USBCAN-II/II+ 驱动程序。你可能还需要下载相关的 SDK 或库文件。(在上面的网址进行下载)
在这里插入图片描述

  • 我这里以配置zlgcan_x64为例。
  1. 将 .h和 lib文件都放到pro工程目录下
    在这里插入图片描述
    在这里插入图片描述

  2. 将kerneldlls文件夹和dll 文件放在debug下的exe目录下
    在这里插入图片描述

  3. 在下面中将.h文件都添加到现有的项目中
    在这里插入图片描述

  4. 添加外部库(添加lib路径)

将为debug版本添加‘d’ 作为后缀取消
在这里插入图片描述

2. zlgcan调试与测试

 // 打开 CAN 设备DEVICE_HANDLE dhandle = ZCAN_OpenDevice(DEVICE_TYPE, 0, 0);if (INVALID_DEVICE_HANDLE == dhandle){std::cout << "打开设备失败" << std::endl;return;}else{std::cout << "打开设备成功" << std::endl;}// 设置波特率if (ZCAN_SetValue(dhandle, "0/baud_rate", "500") != STATUS_OK) {std::cout << "设置波特率失败" << std::endl;ZCAN_CloseDevice(dhandle);return;}else{std::cout << "设置波特率成功" << std::endl;}// 初始化 CAN 通道ZCAN_CHANNEL_INIT_CONFIG cfg;memset(&cfg, 0, sizeof(cfg));cfg.can_type = TYPE_CANFD;cfg.can.filter = 0;cfg.can.mode = 0; // 正常模式cfg.can.acc_code = 0;cfg.can.acc_mask = 0xffffffff;CHANNEL_HANDLE chHandle = ZCAN_InitCAN(dhandle, CHANNEL_INDEX, &cfg);if (INVALID_CHANNEL_HANDLE == chHandle) {std::cout << "初始化通道失败" << std::endl;ZCAN_CloseDevice(dhandle);return;}else{std::cout << "初始化通道成功" << std::endl;}// 启动 CAN 通道if (ZCAN_StartCAN(chHandle) != STATUS_OK) {std::cout << "启动通道失败" << std::endl;ZCAN_CloseDevice(dhandle);return;}else{std::cout << "启动通道成功" << std::endl;}// 准备要发送的 CAN 帧ZCAN_Transmit_Data frame;memset(&frame, 0, sizeof(frame));frame.frame.can_id = 0x00000000; // 设置帧 IDframe.frame.can_dlc = 8; // 设置数据长度BYTE data[] = {1, 2, 3, 4, 5, 6, 7, 8}; // 数据memcpy(frame.frame.data, data, sizeof(data));// 发送数据UINT ret = ZCAN_Transmit(chHandle, &frame, 1);if (ret != 1){std::cout << "发送数据失败" << std::endl;} else{std::cout << "发送数据成功, 数据: ";for (int i = 0; i < frame.frame.can_dlc; ++i){std::cout << (int)frame.frame.data[i] << " ";}std::cout << std::endl;}// 等待接收数据std::this_thread::sleep_for(std::chrono::seconds(1)); // 等待一秒以便接收数据// 接收数据ZCAN_Receive_Data recvFrame;if (ZCAN_Receive(chHandle, &recvFrame, 1) > 0){std::cout << "接收到数据, ID: " << std::hex << recvFrame.frame.can_id << ", 数据: ";for (int i = 0; i < recvFrame.frame.can_dlc; ++i){std::cout << (int)recvFrame.frame.data[i] << " ";}std::cout << std::dec << std::endl; // 恢复到十进制输出} else{std::cout << "未接收到数据" << std::endl;}// 关闭通道和设备ZCAN_CloseDevice(dhandle);

3. ControlCAN 环境准备

  1. 选择具体要配置的编译器
    在这里插入图片描述
    在这里插入图片描述

2. lib 和 .h 文件放在pro目录下,kerneldlls文件夹和dll文件放在debug目录下的exe文件中
3. 引入外部库

3. 自发自收模式

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include"ControlCAN.h"
#include<QDebug>
#include <windows.h>
#include<stdio.h>#define DEVICE_TYPE 4    // 设备类型
#define DEVICE_INDEX 0   // 设备索引
#define CAN_INDEX 0      // CAN 通道索引MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);// 初始化CAN设备//VCI_OpenDevice(DWORD DeviceType,DWORD DeviceInd,DWORD Reserved)if (VCI_OpenDevice(DEVICE_TYPE, DEVICE_INDEX, 0) == 0){qDebug()<<"打开设备失败!";return ;}else{qDebug()<<"打开设备成功!";}// 初始化配置结构VCI_INIT_CONFIG initConfig;initConfig.AccCode = 0x00000000;  // 接收过滤器initConfig.AccMask = 0xFFFFFFFF;   // 接收掩码initConfig.Filter = 0;              // 过滤器类型initConfig.Timing0 = 0x00;          // 时间参数initConfig.Timing1 = 0x14;          // 时间参数initConfig.Mode = 0;                 // 工作模式//initConfig.BaudRate = BAUDRATE;      // 波特率// 设置CAN通道//VCI_InitCAN(DWORD DeviceType, DWORD DeviceInd, DWORD CANInd, PVCI_INIT_CONFIG pInitConfig);if (VCI_InitCAN(DEVICE_TYPE, DEVICE_INDEX, CAN_INDEX, &initConfig) == 0) {//printf("初始化CAN通道失败!\n");qDebug()<<"初始化CAN通道失败!";return ;}else{qDebug()<<"初始化CAN通道成功!";}// 启动CAN通道if (VCI_StartCAN(DEVICE_TYPE, DEVICE_INDEX, CAN_INDEX) == 0) {//printf("启动CAN通道失败!\n");qDebug()<<"启动CAN通道失败!";return ;}else{qDebug()<<"启动CAN通道成功!";}VCI_CAN_OBJ vco[2];// 定义两帧的结构体数组// 中间略去其他函数代码vco[0].ID = 0x00000001;// 填写第一帧的IDvco[0].SendType = 2;// 自发自收模式vco[0].RemoteFlag = 0;// 数据帧vco[0].ExternFlag = 0;// 标准帧vco[0].DataLen = 1;// 数据长度1个字节vco[0].Data[0] = 0x66;// 数据0为0x66,十进制102vco[1].ID = 0x00000002;// 填写第二帧的IDvco[1].SendType = 2;// 自发自收模式vco[1].RemoteFlag = 0;// 数据帧vco[1].ExternFlag = 0;// 标准帧vco[1].DataLen = 1;// 数据长度1个字节vco[1].Data[0] = 0x55;// 数据0为0x55,十进制85DWORD dwRel = VCI_Transmit(DEVICE_TYPE, DEVICE_INDEX, CAN_INDEX, vco, 2); // 发送两帧if(dwRel){qDebug()<<"nCANInd 1 transmit successful,dwRel="<<dwRel;}else{qDebug()<<"nCANInd 1 transmit fail";}VCI_CAN_OBJ receive_obj[100]; // 接收缓冲区// 循环接收数据int count=5;while (count) {DWORD receive_count = VCI_Receive(DEVICE_TYPE, DEVICE_INDEX, CAN_INDEX, receive_obj, 100, 400); // 400ms超时if (receive_count > 0) {for (DWORD i = 0; i < receive_count; i++) {for (int j = 0; j < receive_obj[i].DataLen; j++) {qDebug()<<"接受到的数据如下:"<<receive_obj[i].Data[j];}}} else {qDebug()<<"没有接收到数据。";}Sleep(100); // 睡眠100毫秒,避免过于频繁的轮询count--;}// 关闭设备if(VCI_CloseDevice(DEVICE_TYPE, DEVICE_INDEX)){qDebug()<<"设备关闭成功";}else{qDebug()<<"设备关闭失败";}}

在这里插入图片描述

http://www.tj-hxxt.cn/news/12552.html

相关文章:

  • 网络游戏代理平台淘宝seo 优化软件
  • 企业营销型网站做的好合肥关键词排名优化
  • 金昌网站建设百度广告投放平台官网
  • 收费用的网站怎么做seo优化排名
  • 手机网站尺寸大小百度快速收录技术
  • 涉县住房和城乡规划建设局网站论坛推广软件
  • 网络有限公司seo优化与推广招聘
  • 关键词大全衡阳seo排名
  • 网站排名恢复yandex引擎搜索入口
  • 福州市做公司网站哪家好软文的目的是什么
  • 3705房产网seo博客写作
  • asp网站后台管理系统模板广告宣传费用一般多少
  • wordpress 卢晓松培训如何优化网站
  • 什么网站有做面条的app网球排名即时最新排名
  • 南宁做网站的公司有哪些搜索网站有哪几个
  • 汕头seo排名seo优化推广软件
  • 做淘宝网站需要软文推广做的比较好的推广平台
  • 怎么在手机上做企业网站抖音关键词排名查询工具
  • 网站推广如何做51链
  • 用老域名重新做个网站百度运营怎么做
  • 网站视频嵌入代码百度学术官网论文查重免费
  • 网站开发 网页上传 网页制作本地推广最好用的平台
  • 一个网站怎么做提现自动到账网站怎么推广效果好一点呢
  • 贵阳能做网站的公司超级软文网
  • 免费网站制作开发百度关键词热度排名
  • 公司网站搜索引擎排名分析百度收录申请入口
  • 手机网站开发怎么收费如何进行搜索引擎营销
  • 安徽省建设厅网站首页ui设计培训班哪家好
  • 常州做集装箱的公司西安优化seo
  • 济宁网站建设 企业谷网站推广的基本方法为