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;
	}
相关推荐
欢呼的太阳2 小时前
数据库设计Step by Step (10)——范式化
服务器·数据库·oracle
sdghterhd3 小时前
WebSocket 快速入门教程(附示例源码)
网络·websocket·网络协议
夜雪一千3 小时前
Python enumerate() 函数完整详解:遍历同时获取索引,告别手动计数
服务器·windows·python
xy34534 小时前
Wireshark捕获过滤器——语法元素详解
网络·测试工具·渗透测试·wireshark
DLYSB_5 小时前
生命通道:如何用 HIS 医疗系统直连网络声光终端,打造“零延误”的危急值响应网关?
java·网络·数据库·报警灯
大E帝国子民15 小时前
MacOS 安装Seismic Unix
服务器·macos·unix
德福危险6 小时前
富有想象力的XSS盲打:靶机练习之Tempus_fugit5
服务器·网络·xss
哥是强混7 小时前
Means:基于 .NET 10 打造的开源自部署 S3 兼容对象存储服务
网络·数据库·.net
Piko6148 小时前
锐捷 VSU 虚拟化堆叠配置
运维·网络·笔记
IpdataCloud9 小时前
AI生成的Avalon恶意框架怎么防?用IP离线库识别模块化C2通信
运维·人工智能·网络协议·tcp/ip·ip