vTESTstudio - VT System CAPL Functions - VT7001

news2024/9/23 21:25:26

vtsSerialClose - 关闭VT系统通道的串行端口

功能:关闭由系统变量命名空间指定的VT系统通道的串行端口。

Target:目标通道变量空间名称,例如:VTS::ECUPowerSupply

返回值:

0:成功重置目标通道最大和最小值

-1:非特定错误

-2: 调用命令的命名空间不存在、不是有效的VT系统命名空间或不支持此命令。

Demo演示

查看vtsSerialConfigure函数

vtsSerialOpen - 打开VT系统通道的串行端口

功能:要确保没有数据丢失,请在调用此函数和随后发送或接收数据之间执行等待命令。

Target:目标通道变量空间名称,例如:VTS::ECUPowerSupply

返回值:

0:成功重置目标通道最大和最小值

-1:非特定错误

-2: 调用命令的命名空间不存在、不是有效的VT系统命名空间或不支持此命令。

Demo演示

查看vtsSerialConfigure函数

vtsSerialConfigure - 配置VT系统通道的串行端口

功能:要配置由系统变量命名空间指定的VT系统通道的串行端口。如果不配置,则使用默认配置。

默认波特率:1200,8个数据位,1个停止位,无奇偶校验。

注意:为了确保使用了正确的设置,请在调用此函数和随后发送或接收数据之间执行等待命令

Target:目标通道变量空间名称,例如:VTS::ECUPowerSupply

baudrate:用于接收和传输的波特率,设置值如下表:

Value

Enum

Short Description

1200

eVTSBaudRate1200

用于接收和发送的串口通信波特率1200

2400

eVTSBaudRate2400

用于接收和发送的串口通信波特率2400

4800

eVTSBaudRate4800

用于接收和发送的串口通信波特率4800

9600

eVTSBaudRate9600

用于接收和发送的串口通信波特率9600

19200

eVTSBaudRate19200

用于接收和发送的串口通信波特率19200

38400

eVTSBaudRate38400

用于接收和发送的串口通信波特率38400

numberOfDataBits:传输帧内的数据位数。设置值如下表:

Value

Enum

Short Description

7

eVTSDataBitsSeven

7 Data Bits

8

eVTSDataBitsEight

8 Data Bits

numberOfStopBits:传输帧内的停止位数,设置值如下表:

Value

Enum

Short Description

1

eVTSStopBitsOne

1 StopBit

2

eVTSStopBitsTwo

2 StopBits

parity:指定使用的校验模式,设置如下表:

Value

Enum

Short Description

0

eVTSParityNone

no parity used, i.e. frame contains no parity bit

1

eVTSParityOdd

odd parity

2

eVTSParityEven

even parity

返回值:

0:成功重置目标通道最大和最小值

-1:非特定错误

-2: 调用命令的命名空间不存在、不是有效的VT系统命名空间或不支持此命令。

Demo演示

以下示例是初始化串口

RS232Init_Example ()
{
   //声明RS232通信的变量
   char stringToSend[20] = "Hello World !"; // 字符串发送
   byte sendBuffer[20];                     // 用于保存发送数据的字节数组
   byte receiveBuffer[20];                  // 定义接收buffer
   int i;                                   // 字符长度

   //注册RS232回调函数
   vtsSerialSetOnErrorHandler("VTS::ECUPowerSupply", "OnRS232Error");
   vtsSerialSetOnReceiveHandler("VTS::ECUPowerSupply", "OnRS232Receive");
   vtsSerialSetOnSendHandler("VTS::ECUPowerSupply", "OnRS232Sent");

   //配置串行端口,即用于与外部通信
   //ECU电源至9600波特,8个数据位,1个停止位,无奇偶校验
   vtsSerialConfigure("VTS::ECUPowerSupply", eVTSBaudRate9600, eVTSDataBitsEight, eVTSStopBitsOne, eVTSParityNone);

   // 打开串行端口,即与外部ECU电源通信
   vtsSerialOpen("VTS::ECUPowerSupply");

  // 短暂等待以确保应用了设置并且端口已就绪
   TestWaitForTimeOut(10);

   // 关闭串口
   vtsSerialClose("VTS::ECUPowerSupply");
}

vtsSerialReceive - 从串行端口接收字节块

功能:开始从指定VT7001通道的串行端口接收字节块。将接收的数据复制到指定的缓冲区。只能在OnSerialReceive回调中访问数据。

Target:目标通道变量空间名称,例如:VTS::ECUPowerSupply

buffer:接收数据复制到的字节数组,缓冲区仅在OnSerialReceive回调中有效。

size:一次可接收的最大字节数。值必须大于0且小于65

返回值:

0:成功重置目标通道最大和最小值

-1:非特定错误

-2: 调用命令的命名空间不存在、不是有效的VT系统命名空间或不支持此命令。

-3: 其中一个参数的值无效。

-5:串行端口未打开。

Demo演示

发送数据demo

// **** 接收数据 ****

// 在10秒内,将所有接收到的数据输出到写入窗口
Write("Waiting for incomming data...");
vtsSerialReceive("VTS::ECUPowerSupply", receiveBuffer, elcount(receiveBuffer));
TestWaitForTimeOut(10000);

vtsSerialReceive - 从串行端口接收字节块

功能:向指定VT7001通道的串行端口发送一个字节块

Target:目标通道变量空间名称,例如:VTS::ECUPowerSupply

buffer:接收数据复制到的字节数组,缓冲区仅在OnSerialReceive回调中有效。

number:要从缓冲区发送的字节数。数字的值必须大于0且小于65

返回值:

0:成功重置目标通道最大和最小值

-1:非特定错误

-2: 调用命令的命名空间不存在、不是有效的VT系统命名空间或不支持此命令。

-3: 其中一个参数的值无效。

-5:串行端口未打开。

Demo演示

发送数据demo

// **** 发送数据 ****

// 将字符串复制到字节数组并发送
for (i=0; i<strlen(stringToSend); ++i) sendBuffer[i] = stringToSend[i];
vtsSerialSend("VTS::ECUPowerSupply", sendBuffer, strlen(stringToSend));

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/356912.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

密码的世界

网络世界中常见的攻击方法 窃听攻击 窃听攻击是网络世界最常见的一种攻击方式&#xff0c;一些不能泄露的隐私信息&#xff0c;例如银行卡密码&#xff0c;账号密码&#xff0c;如果被窃听泄露的话通常会带来比较严重的后果。 中间人攻击 在中间人攻击中&#xff0c;小明准…

九龙证券|突然哑火!最火爆中小盘明显回调,后市咋走?机构最新解读

中证1000和国证2000指数创年内新高后&#xff0c;连续2日回调。 2月17日A股商场震动下行&#xff0c;创业板指数跌幅超2%&#xff0c;近3000只个股跌落&#xff0c;北向资金小幅净流入&#xff0c;商场成交额接近万亿关口&#xff0c;港股也出现显着回调痕迹。 以中小市值公司…

XSS基础——xsslabs通关挑战

目录XSS基础一、XSS基础概念1、XSS基础概念2、XSS分类二、xsslabs通关挑战level 1level 2level 3htmlspecialchars函数html事件属性level 4level 5level 6level 7level 8深入理解浏览器解析机制和XSS向量编码level 9level 10level 11level 12level 13三、总结XSS基础 一、XSS基…

算法刷刷刷| 二叉树篇| 110平衡二叉树| 257二叉树的所有路径 |404左叶子之和| 513找树左下角的值| 112路径总和| 113路径总和II

110.平衡二叉树 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 class Solution {public boolean isBalanced(TreeNode root) {int dfs…

【前端】Vue3+Vant4项目:旅游App-项目总结与预览(已开源)

文章目录项目预览首页Home日历&#xff1a;日期选择开始搜索位置选择上搜索框热门精选-房屋详情1热门精选-房屋详情2其他页面项目笔记项目代码项目数据项目预览 启动项目&#xff1a; npm run dev在浏览器中F12&#xff1a; 首页Home 热门精选滑动到底部后会自动加载新数据&a…

【factoryio】使用SCL编写 <机械手控制> 程序

使用虚拟工厂软件和博图联合仿真来编写【scl】机械手控制程序 文章目录 目录 文章目录 前言 二、程序编写 1.机械手运行部分 2.启动停止部分 3.急停复位部分 三、完整代码 总结 前言 在前面我们一起写过了许多案例控制的编写&#xff0c;在这一章我们一起来编写一下一个…

Vue中 引入使用 babel-polyfill 兼容低版本浏览器

注意&#xff1a;本文主要介绍的 vue-cli 版本&#xff1a;3.x&#xff0c; 4.x&#xff1b; 最近在项目中使用 webpack 打包后升级&#xff0c;用户反馈使用浏览器&#xff08;chrome 45&#xff09;访问白屏。经过排查发现&#xff1a;由于 chrome 45 无法兼容 ES6 语法导致的…

linux018之安装mysql

linux上安装mysql&#xff1a; 第一步&#xff1a;查看是否已经安装mariadb&#xff0c;mariadb是mysql数据库的分支&#xff0c;mariadb和mysql一起安装会有冲突&#xff0c;所以需要卸载掉。 yum list installed | grep mariadb &#xff1a;查看是否安装mariadb&#xff0c;…

「可信计算」论文初步解读

可信计算组织&#xff08;Ttrusted Computing Group,TCG&#xff09;是一个非盈利的工业标准组织&#xff0c;它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立&#xff0c;并采纳了由可信计算平台联盟&#xff08;the Trusted Computing Platform Alli…

数据结构与算法

1、复杂度分析&#xff08;上&#xff09;&#xff1a;如何分析、统计算法的执行效率和资源消耗&#xff1f;复杂度分析是整个算法学习的精髓&#xff0c;只要掌握了它&#xff0c;数据结构和算法的内容基本上就掌握了一半。&#xff08;1&#xff09;为什么需要复杂度分析&…

Github 学生优惠包 -- 最新防踩坑指南

Github学生优惠包的申请最近越来越麻烦&#xff0c;里面有非常多的坑&#xff0c;留下此文防止各位申请的时候踩到。 此文面向中国大陆真正有学生身份的同学&#xff01;&#xff01;&#xff01; 文章目录前言1.用到的网址2.申请所需3.详细步骤4.踩坑点前言 记得在一年以前还…

进程的概念

进程的概念 程序的概念 这里说的是一个可执行文件&#xff0c;passive的意思可以理解为我们这个执行文件需要我们进行双击才会被被执行。 双击后&#xff0c;程序入口地址读入寄存器&#xff0c;程序加载入主存&#xff0c;成为一个进程 进程是主动去获取想要的资源&#xff0…

图解LeetCode——剑指 Offer 10- II. 青蛙跳台阶问题

一、题目 一只青蛙一次可以跳上1级台阶&#xff0c;也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e97&#xff08;1000000007&#xff09;&#xff0c;如计算初始结果为&#xff1a;1000000008&#xff0c;请返回 1。 二、示例 2.1>…

inno setup打包软件学习

目录 一 打包结果 二 示例打包脚本 三 错误解决 3.1 另一个程序正在使用此文件&#xff0c;进程无法访问 3.2 桌面图标无法修改 四 参考资料 一 打包结果 测试程序来自&#xff1a; 泽森科工 (zenustech.com) 二 示例打包脚本 使用打包软件下载地址&#xff1a; in…

[U3D ShaderGraph] 全面学习ShaderGraph节点 | 第四课 | Input/Lighting

📣📣📣本专栏所有内容在完结之前全部为试读模式,专栏完结之后会取消试读模式,如果感觉内容还不错的话请支持一下📣📣📣 ShaderGraph是可视化的着色器编辑工具。您可以使用此工具以可视方式创建着色器。 本专栏可以让你更了解ShaderGraph中每个节点的功能,更自如的…

BUUCTF Reverse xor

题目&#xff1a;BUUCTF Reverse xor 一些犯傻后学到了新东西的记录 查壳&#xff0c;没壳&#xff0c;IDA打开 main函数很好理解&#xff0c;输入一个长度为33的字符串&#xff0c;1-32位与前一位异或后与global相等&#xff0c;则判定flag正确 找global 在strings window直…

【Java】《Java8 实战》 CompletableFuture 学习

文章目录前言1. 并发(Concurrent) 和 并行(Parallel)1.1 并发的来源1.2 并发技术解决了什么问题2. 并行的来源2.1 并行解决了什么问题3. CompletableFuture 简介4. CompletableFuture 简单应用5. CompletableFuture 工厂方法的应用6. CompletableFuture join() 方法7. 使用 Par…

2022黑马Redis跟学笔记.实战篇(七)

2022黑马Redis跟学笔记.实战篇 七4.11.附近的店铺功能4.11.1. GEO数据结构的基本用法1. 附近商户-导入店铺数据到GEO4.11.2. 获取附近的店铺1. 附近商户-实现附近商户功能4.9. 签到功能4.9.1.BitMap原理1. 用户签到-BitMap功能演示4.9.2.实现签到功能4.9.3.实现补签功能4.9.4.统…

.net开发安卓入门-自动升级(配合.net6 webapi 作为服务端)

文章目录思路客户端权限清单&#xff08;AndroidManifest.xml&#xff09;权限列表(完整内容看 权限清单&#xff08;AndroidManifest.xml&#xff09;&#xff09;打开外部应用的权限(完整内容看 权限清单&#xff08;AndroidManifest.xml&#xff09;&#xff09;添加文件如下…

网络数据包接收流程

1. 网络数据包接收流程简述 典型的以太网卡网络包接收流程如下&#xff1a; 1.网络包通过物理介质传到接收端的phy芯片&#xff1b; 2.phy芯片通过RGMII协议传到MAC芯片rx queue fifo中&#xff1b; 3.MAC芯片通过专用DMA将网络包搬运到网卡驱动程序预先分配好的rx ringbuffer中…