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;
	}
相关推荐
bukeyiwanshui几秒前
20260416 DHCP以及DNS
linux·网络
zhojiew2 分钟前
在中国区aws通过Network Flow Monitor实现实例网络流量指标上传到cloudwatch
服务器·网络·aws
ALex_zry3 分钟前
Converter双向转换的边界条件处理
运维·服务器·建造者模式
IMPYLH5 分钟前
Linux 的 printf 命令
linux·运维·服务器·bash
Coco_淳7 分钟前
linux 服务器 初始化数据盘
运维·服务器
艾莉丝努力练剑10 分钟前
【Linux加餐】mmap文件映射
linux·运维·服务器·c语言·c++·学习
发光小北25 分钟前
EtherCAT 转 Modbus TCP 网关如何应用?
网络协议·tcp/ip
广州灵眸科技有限公司29 分钟前
瑞芯微(EASY EAI)RV1126B QT GUI例程方案
linux·服务器·开发语言·网络·人工智能·qt·物联网
枫叶丹433 分钟前
【HarmonyOS 6.0】ArkWeb 私有网络访问控制接口详解
开发语言·网络·华为·harmonyos
聊点儿技术38 分钟前
大促期间IP代理识别API频频超时怎么办?——高并发场景下离线库选型与本地部署实战
网络·tcp/ip·游戏·ip离线库·电商风控·识别代理ip·代理ip识别api