网口通讯与串口通讯(内含代码) 您所在的位置:网站首页 串口网口区别 网口通讯与串口通讯(内含代码)

网口通讯与串口通讯(内含代码)

2024-03-21 17:07| 来源: 网络整理| 查看: 265

目录

二、网口通讯与串口通讯主要区别:

三、初始化网口,实现网口通讯的步骤:(附代码)

四、打开串口,实现通讯的步骤:(附代码)

五、工具小助手:

        网口通讯(Ethernet)和串口通讯(Serial)都是用于数据传输的通信协议。

1、网口通信有:TCP(可靠连接)、UDP(无连接)

(1)要设置的:IP地址+端口;

(2)通讯数据帧格式:帧头+长度+数据域+停止位

2、串口通信,是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式;

(1)串口通讯协议包含:RS232(全双工,常用)、RS485(半双工)

(2)要设置的:串口号、波特率(单设这个也行,容易出错)、奇偶校验位、停止位

(3)数据格式:由起始位(1bit)+ 数据位(8bit)+ 奇偶校验位(1bit)+ 停止位(1bit)组成;

(4)主要步骤:打开、设置、读写、关闭;

3、工具小助手:

(1)网口通信:NetAssist.exe;

(2)串口通信:UartAssist.exe

二、网口通讯与串口通讯主要区别:

1. 传输速度:网口通讯速度较快,可以达到几十兆甚至几百兆的传输速度;串口通讯速度较慢,一般只能达到几千字节每秒的传输速度。

2. 传输距离:网口通讯可以通过局域网或广域网进行数据传输,传输距离较远;串口通讯只能在短距离内传输数据,一般不超过几十米。

3. 连接方式:网口通讯使用网线连接,需要路由器或交换机等网络设备进行连接;串口通讯使用串口连接,可以直接连接两台设备。

4. 数据传输方式:网口通讯采用数据包方式进行数据传输,数据包中包含了地址、数据和校验等信息;串口通讯采用逐位传输方式进行数据传输,数据逐位传输,没有数据包的概念。

总的来说,网口通讯适合在大范围内进行数据传输,传输速度快,而串口通讯适合在短距离内进行数据传输,连接简单。在实际应用中,需要根据具体的需求选择适合的通讯方式。

三、初始化网口,实现网口通讯的步骤:(附代码)

1、网口通讯:(以TCP为例)

(1)客户端:

#include #include #include #include #include #include int main() { int sockfd; struct sockaddr_in servaddr; // 服务器地址 const char* ipaddr = "127.0.0.1"; int port = 12345; // 创建Socket sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) { perror("socket"); return -1; } // 设置服务器地址 memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = inet_addr(ipaddr); servaddr.sin_port = htons(port); // 连接服务器 if (connect(sockfd, (struct sockaddr*)&servaddr, sizeof(servaddr)) < 0) { perror("connect"); return -1; } // 发送数据 const char* msg = "Hello world"; int n = write(sockfd, msg, strlen(msg)); if (n < 0) { perror("write"); return -1; } // 接收数据 char buf[1024]; n = read(sockfd, buf, sizeof(buf)); if (n < 0) { perror("read"); return -1; } buf[n] = '\0'; std::cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有