资源简介
oIP技术,在UDS诊断服务基础上,通过TCP/IP及以太网来进行远程车辆诊断,协议定义在ISO 13400,文档中详细描述了外部测试及刷新设备如何与整车内部ECU通过以太网及TCP/IP协议进行通讯。
文档目前分三份:
— Part 1: General information and use case definition
— Part 2: Transport protocol and network layer services
— Part 3: Wired vehicle interface based on IEEE 802.3
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include “DoIP_pc.h“
// #include “mytest.h“
int sfdVehicleIdentification = 0;
int multicastSfd = 0;
int tcpClientSfd = 0;
bool isRoutingActivation = false;
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
char pcIp[DOIP_IPV6_ADDR_LEN] = { 0 };
char remoteVehicleIp[DOIP_IPV6_ADDR_LEN] = { 0 };
char recvBuffer[DOIP_UDP_MESSAGE_MAX_SIZE] = { 0 };
bool getRoutingActivation()
{
pthread_mutex_lock(&mutex);
bool ret = isRoutingActivation;
pthread_mutex_unlock(&mutex);
return ret;
}
void setRoutingActivation(bool status)
{
pthread_mutex_lock(&mutex);
isRoutingActivation = status;
pthread_mutex_unlock(&mutex);
}
void convertHeaderDisplay(const struct DoIPHeader& header struct HeaderDisplay& headerDisplay)
{
char protocolVersion[UINT8_HEX + OTHER_HEX] = { 0 };
char inverseProtocolVersion[UINT8_HEX + OTHER_HEX] = { 0 };
char payloadType[UINT16_HEX + OTHER_HEX] = { 0 };
char payloadLength[UINT32_HEX + OTHER_HEX] = { 0 };
snprintf(protocolVersion UINT8_HEX + OTHER_HEX - 1 “0x%x“ header.protocolVersion);
snprintf(inverseProtocolVersion UINT8_HEX + OTHER_HEX - 1 “0x%x“ header.inverseProtocolVersion);
snprintf(payloadType UINT16_HEX + OTHER_HEX - 1 “0x%x“ header.payloadType);
snprintf(payloadLength UINT32_HEX + OTHER_HEX - 1 “0x%x“ header.payloadLength);
headerDisplay.protocolVersion = protocolVersion;
headerDisplay.inverseProtocolVersion = inverseProtocolVersion;
headerDisplay.payloadType = payloadType;
headerDisplay.payloadLength = payloadLength;
}
void convertSendDisplayPort(const uint16_t srcPort const uint16_t dstPort struct SendInfoDisplay& sendDisplay)
{
char srcPortStr[6] = { 0 };
char dstPortStr[6] = { 0 };
snprintf(srcPortStr 5 “%d“ srcPort);
snprintf(dstPortStr 5 “%d“ dstPort);
sendDisplay.srcPort = srcPortStr;
sendDisplay.dstPort = dstPortStr;
}
bool createUdpSocket()
{
printf(“PCDoIP::createUdpSocket create udp socket start\n“);
sfdVehicleIdentification = socket(AF_INET6 SOCK_DGRAM IPPROTO_UDP);
if (sfdVehicleIdentification < 0) {
printf(“PCDoIP::createUdpSocket create udp socket failed\n“);
return false;
}
return true;
}
bool createTcpSocket()
{
tcpClientSfd = socket(AF_INET6 SOCK_STREAM 0);
if (tcpClientSfd < 0) {
printf(“VehicleDoIP::createTcpSocket create socket failed \n“);
return false;
}
return true;
}
bool createMulticastSocket(const char* multicastIp uint16_t multicastPort)
{
printf(“PCDoIP::createMulticastSocket start Multcast IP [%s] Multicast Port [%d]!\n“ multicastIp multicastPort);
multicastSfd = socket(AF_INET6 SOCK_DGR
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-04-16 10:00 DoIP_Demo-master\
目录 0 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\
目录 0 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\Vehicle\
文件 39095 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\Vehicle\DoIP_pc.cpp
文件 6548 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\Vehicle\DoIP_pc.h
文件 456 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\Vehicle\Vehicle.pro
文件 18344 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\Vehicle\Vehicle.pro.user
文件 90 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\Vehicle\image.qrc
目录 0 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\Vehicle\image\
文件 77117 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\Vehicle\image\1.jpg
文件 202 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\Vehicle\main.cpp
文件 23699 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\Vehicle\mainwindow.cpp
文件 1097 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\Vehicle\mainwindow.h
文件 3015 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\Vehicle\mainwindow.ui
文件 3620 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\Vehicle\mytest.cpp
文件 2858 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\Vehicle\mytest.h
目录 0 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\do_ip_Mac_02\
文件 38695 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\do_ip_Mac_02\DoIP_pc.cpp
文件 6548 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\do_ip_Mac_02\DoIP_pc.h
文件 19765 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\do_ip_Mac_02\DoIP_vehicle.cpp
文件 123 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\do_ip_Mac_02\config
文件 44224 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\do_ip_Mac_02\pctest
文件 23368 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo1\do_ip_Mac_02\vehicletest
目录 0 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo2\
目录 0 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo2\Vehicle\
文件 39095 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo2\Vehicle\DoIP_pc.cpp
文件 6548 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo2\Vehicle\DoIP_pc.h
文件 456 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo2\Vehicle\Vehicle.pro
文件 18344 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo2\Vehicle\Vehicle.pro.user
文件 90 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo2\Vehicle\image.qrc
目录 0 2019-04-16 10:00 DoIP_Demo-master\DoIP_Demo2\Vehicle\image\
............此处省略147个文件信息
- 上一篇:软件设计师考试同步辅导.pdf
- 下一篇:游戏的设计与开发 梦开始的地方
相关资源
- 易语言取微云数据V1源码易语言取微云
- 易语言Excel多表对应处理源码
- 易语言取word打开、另存为对话框窗口
- 易语言EXCEL另存为CSV文件源码
- delphi百度地图源码
- 易语言EMS快递查询源码
- 易语言快递查询源码
- 易语言查询79种快递源码
- 易语言搜搜mp3源码
- 易语言迅雷补丁源码
- 易语言高仿迅雷5安装包源码
- bootstrap demo 源码大全
- springboot整合RabbitMQ实现延时队列的两
- 关于Spring MVC项目maven中通过fileupload上
- 新一代Lora芯片sx126x的驱动源码
- 易语言版迅雷视频转换器源码
- 今日头条源码.zip
- CtrlAltQ全屏截图源码
- 易语言全屏截图源码
- 百度图片识别源码.rar
- 易语言穿越火线辅助程序源码
- Gerber文件的编辑程序
- WINDOWS内核安全编程 寒江独钓 光盘源
- 寒江独钓-Windows内核安全编程(完整版
- DevExpress 15.1.6 源码 全 百度云
- 很久以前的MUD游戏源码和mudos
- 易语言屏幕锁屏工具源码
- 易语言Beep应用例程源码
- 易语言API的用法之beep源码
- 易语言Beep卡农源码
评论
共有 条评论