一、物理连接

二,流程分析

电脑连接CAN分析仪,电脑通过软件USB-CAN把can十六进制数据发到CAN分析仪。CAN分析仪连接CAN转以太网设备,数据通过CAN转以太网设备后,通过网线传送到单片机。这里面,CAN转以太网设置为TCP Client模式,以CAN转以太网设备作为服务端,服务端IP地址为:192.168.0.7,端口号为:20001。单片机作为客户端,向服务端发起连接请求,接受来自服务端的数据。

三,客户端程序

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<errno.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<string.h>#define SERV_IP "192.168.0.7"
#define SERV_PORT 20001
#define ITEMSIZE 3
#define WIDEIMAGE 500int main()
{int cfd,fd;struct sockaddr_in serv_addr;socklen_t serv_addr_len;char readChar[ITEMSIZE],writeChar[1024];int count,j=1;cfd = socket(AF_INET,SOCK_STREAM,0);memset(&serv_addr,0,sizeof(serv_addr)); serv_addr.sin_family = AF_INET;serv_addr.sin_port = htons(SERV_PORT);inet_pton(AF_INET,SERV_IP,&serv_addr.sin_addr.s_addr);connect(cfd,(struct sockaddr *)&serv_addr,sizeof(serv_addr));fd = open("can2.txt",O_RDONLY|O_WRONLY|O_CREAT);while(1){count = read(cfd,readChar,ITEMSIZE);//write(fd,buf,sizeof(buf));if(count==0){break;}readChar[count]='\0';count  = sprintf(writeChar, "%02x%02x%02x ", readChar[0]&0x00FF, readChar[1]&0x00FF, readChar[2]&0x00FF);writeChar[count] = '\0';write(fd, writeChar, count);if(count < ITEMSIZE){break;}if(j++%WIDEIMAGE  == 0){write(fd, "\n", 1);}}   close(fd);close(cfd);return 0;
}

项目:基于以太网通信,单片机作为客户端,接收CAN-Ethernet的十六进制数据相关推荐

  1. socket网络编程——基于socket通信实现对客户端与服务器间的文件互传

    客户端与服务器间的文件互传 基于socket的文件数据互传,将文件中所有的字符一一通过buf进行传递,为了更好地判断文件的 结束,通过添加文件结束标识符"#",当接收端接收到该字符 ...

  2. DE2-115 以太网通信之一88E1111网卡接收PC数据

    想利用手头上的DE2-115 写一个关于以太网通信的驱动,经过了这么多天的实验调试终于有了一些认识. 1.我在观察网卡发送数据与接收数据的过程中发现,我从fpga上的一个网卡发送数据,然后另一个网卡接 ...

  3. linux消息通信无法接收,求助!Linux基于UDP通信失败,server接收不到消息???...

    代码参考<Linux C从入门到精通>,实践的时候发现失败,求助!!! server端代码如下: /*服务器端*/ #include #include #include #include ...

  4. 基于阿里云物联网平台的设备之间传输十六进制数据

    基于阿里云物联网平台的设备之间传输十六进制数据 文章目录 基于阿里云物联网平台的设备之间传输十六进制数据 1. 创建阿里云物联网产品 1.1 创建新的产品 1.2 为产品创建自定义topic 1.3 ...

  5. 基于PC与单片机串口通信的温度监控系统程序设计

    基于PC与单片机串口通信的温度监控系统程序设计 1.系统介绍 1)本系统主要讲解基于PC与单片机串口通信的温度监控系统程序设计(如图1),上位机采用常用的PC机,下位机使用的是STC89C52单片机, ...

  6. 基于Xilinx artix 7的FPGA高级应用(二):千兆以太网通信(原理篇)

    本项目是基于Xilinx Artix7 XC7A35T芯片 以太网芯片选用的是RTL8211EG PHY芯片 MAC 和PHY接口标准是GMII 开发工具是vivado 2018.3 FPGA高级应用 ...

  7. 基于新塘51单片机的485通信

    基于新塘51单片机的485通信 序言 最近有一个项目用新塘的51FB9A单片机做时控开关(上位机控制)控制继电器,但是我原来也没整过485啊,本来以为这玩意很难.没想到才了一些坑之后还觉得挺简单的.这 ...

  8. Java实例练习——基于UDP协议的多客户端通信

    昨天学习了UDP协议通信,然后就想着做一个基于UDP的多客户端通信(一对多),但是半天没做出来,今天早上在参考了很多代码以后,修改了自己的代码,然后运行成功,在这里分享以下代码,也说一下自己的认识误区 ...

  9. 串口转以太网通信源代码C语言C++编写支持多路转换双向通信支持UDP和TCP客户端

    串口转以太网通信源代码C语言C++编写支持多路转换双向通信支持UDP和TCP客户端 提供,带注释,带设计文档 使用说明介绍 1.功能介绍: 完成了多路网口和串口数据转换的功能. 可实现串口接收到的数据 ...

最新文章

  1. 经典面试题:ES如何做到亿级数据查询毫秒级返回?
  2. 论文研读:Automatic Temporal Segment Detection and Affect Recognition From Face and Body Display
  3. java for循环 暂停_类中的2个for循环不想在第一次迭代后迭代c [暂停]
  4. postman可以测试websocket吗_小海塔罗娱乐测试2021年可以脱单吗?
  5. 前端实现搜索记录功能
  6. android触摸指纹会触发按键功能,Android P新特性:利用触摸指纹识别器能阻止手机息屏...
  7. jq往字符串中插入_jq: dom-插入
  8. doc2html asp,ASP常见问题及解答(3)-ASP教程,ASP技巧
  9. ubuntu 11.10 使用 emacs-23.4 开发 erlang 整理之 安装distel
  10. Mac新手用户需要了解的14个Spotlight搜索技巧
  11. 将Nokia 6300 Firmware升级到5.5
  12. lintcode刷题目录
  13. PHP获取域名及域名IP的方法
  14. 决策树模型实现冬小麦提取
  15. 计算机主板北桥芯片的主要作用,介绍一下南北桥芯片的位置及作用
  16. 动力总成悬置系统刚度及模态有效质量计算公式推导
  17. Redis客户端Lettuce深度分析介绍
  18. word插入公式自动编号 #不起作用的解决方案
  19. 公网访问本地内网web服务器【内网穿透】
  20. 图片转excel的网站

热门文章

  1. 程序员面试金典 - 面试题 17.09. 第 k 个数(set优先队列/DP)
  2. LeetCode 1162. 地图分析(BFS)
  3. LeetCode 357. 计算各个位数不同的数字个数(DP)
  4. python桌面快捷图标_Python创建、删除桌面、启动组快捷方式的例子分享
  5. 12306 抢票项目霸榜 GitHub,标星即将破万
  6. Python中字符串格式化:%和format
  7. web基础编程-图片管理网站
  8. 会议交流|大模型与图学习等知识图谱相关技术实践探索
  9. 征稿 | “健康知识图谱”投稿通道开启
  10. 法律规则鬼畜图解||全面易懂的旅游投诉赔偿标准