modbus_tcp和modbus_rtu对比&移植AT-socket,modbus_tcp&杂记

modbus_rtu通信时没有连接过程,主机和从机各自初始化自身串口就行了,而rtu需要确定从机ID。

注:在TCP连接中,不同的网卡有不同的IP,port对应具体的程序。

cpp 复制代码
/* 先读取数据 */
	for (i = 0; i < len; i++)
	{
		if (pdPASS != xQueueReceive(recv_queue, &buf[i], 0))
			break;
	}

	/* 如果没有数据才等待 
	之所以这样做是因为如果队列有100字节数据,第一次只读10字节的话,下次再读就只能等待重新得到信号量了,因此会造成接收延迟
	*/
	if (i == 0)//说明队列里为空,一个都没读到,这时才阻塞等待
	{
		xSemaphoreTake(ptDev->sockets[socket].at_packet_sem, portMAX_DELAY);
	}

	/* 读取数据 */
	for (; i < len; i++)
	{
		if (pdPASS != xQueueReceive(recv_queue, &buf[i], 0))
			break;
	}
相关推荐
hhhjhl5 小时前
Protobuf.js 跨端三方库仓颉适配全流程
javascript·网络·udp
琥珀.5 小时前
mysql中json数组转列表查询
linux·运维·服务器
ITxiaobing20236 小时前
中国公司海外广告投放的 IP 地址库选型:从“查归属”到“验真实”的工程视角
网络·网络协议·tcp/ip
KKKlucifer7 小时前
运营商非结构化文档安全管控体系建设实践
大数据·网络·安全
云边云科技_云网融合8 小时前
连锁门店组网怎么做?SD-WAN 多分支组网的架构选型、部署与成本结构
服务器·数据库·php
网络小江8 小时前
组网第35课:静态路由——下一跳、出接口、默认路由、浮动静态与黑洞路由
服务器·网络·默认路由·黑洞路由·浮动静态路由
acrel79 小时前
医院用电隐患治理与节能降耗及智慧能源平台应用
网络·数据库
叼烟扛炮9 小时前
Linux 学习笔记(三十三):线程互斥——互斥锁(Mutex)与死锁
linux·运维·服务器·笔记·学习·1024程序员节
无足鸟ICT9 小时前
【RHCA+】who命令(查看已登陆用户)
linux·运维·服务器
Escalating_xu10 小时前
【Linux 网络编程】应用层协议 HTTP(下):Header、连接管理与 C++ HTTP 服务器
linux·服务器·网络