成都网站建设那家好,怎样做自己可以发布消息的网站,站长工具域名查询ip,在线一键免费生成网页网站vtsSerialClose - 关闭VT系统通道的串行端口功能#xff1a;关闭由系统变量命名空间指定的VT系统通道的串行端口。Target#xff1a;目标通道变量空间名称#xff0c;例如#xff1a;VTS::ECUPowerSupply返回值#xff1a;0#xff1a;成功重置目标通道最大和最小值-1关闭由系统变量命名空间指定的VT系统通道的串行端口。Target目标通道变量空间名称例如VTS::ECUPowerSupply返回值 0成功重置目标通道最大和最小值-1非特定错误-2: 调用命令的命名空间不存在、不是有效的VT系统命名空间或不支持此命令。Demo演示查看vtsSerialConfigure函数vtsSerialOpen - 打开VT系统通道的串行端口功能要确保没有数据丢失请在调用此函数和随后发送或接收数据之间执行等待命令。Target目标通道变量空间名称例如VTS::ECUPowerSupply返回值 0成功重置目标通道最大和最小值-1非特定错误-2: 调用命令的命名空间不存在、不是有效的VT系统命名空间或不支持此命令。Demo演示查看vtsSerialConfigure函数vtsSerialConfigure - 配置VT系统通道的串行端口功能要配置由系统变量命名空间指定的VT系统通道的串行端口。如果不配置则使用默认配置。默认波特率12008个数据位1个停止位无奇偶校验。注意为了确保使用了正确的设置请在调用此函数和随后发送或接收数据之间执行等待命令Target目标通道变量空间名称例如VTS::ECUPowerSupplybaudrate用于接收和传输的波特率设置值如下表ValueEnumShort Description1200eVTSBaudRate1200用于接收和发送的串口通信波特率12002400eVTSBaudRate2400用于接收和发送的串口通信波特率24004800eVTSBaudRate4800用于接收和发送的串口通信波特率48009600eVTSBaudRate9600用于接收和发送的串口通信波特率960019200eVTSBaudRate19200用于接收和发送的串口通信波特率1920038400eVTSBaudRate38400用于接收和发送的串口通信波特率38400numberOfDataBits传输帧内的数据位数。设置值如下表ValueEnumShort Description7eVTSDataBitsSeven7 Data Bits8eVTSDataBitsEight8 Data BitsnumberOfStopBits传输帧内的停止位数设置值如下表ValueEnumShort Description1eVTSStopBitsOne1 StopBit2eVTSStopBitsTwo2 StopBitsparity指定使用的校验模式设置如下表ValueEnumShort Description0eVTSParityNoneno parity used, i.e. frame contains no parity bit1eVTSParityOddodd parity2eVTSParityEveneven parity返回值 0成功重置目标通道最大和最小值-1非特定错误-2: 调用命令的命名空间不存在、不是有效的VT系统命名空间或不支持此命令。Demo演示以下示例是初始化串口RS232Init_Example ()
{//声明RS232通信的变量char stringToSend[20] Hello World !; // 字符串发送byte sendBuffer[20]; // 用于保存发送数据的字节数组byte receiveBuffer[20]; // 定义接收bufferint 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::ECUPowerSupplybuffer接收数据复制到的字节数组缓冲区仅在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::ECUPowerSupplybuffer接收数据复制到的字节数组缓冲区仅在OnSerialReceive回调中有效。number要从缓冲区发送的字节数。数字的值必须大于0且小于65返回值 0成功重置目标通道最大和最小值-1非特定错误-2: 调用命令的命名空间不存在、不是有效的VT系统命名空间或不支持此命令。-3: 其中一个参数的值无效。-5串行端口未打开。Demo演示发送数据demo// **** 发送数据 ****// 将字符串复制到字节数组并发送
for (i0; istrlen(stringToSend); i) sendBuffer[i] stringToSend[i];
vtsSerialSend(VTS::ECUPowerSupply, sendBuffer, strlen(stringToSend));