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;
	}
相关推荐
小波小波轩然大波15 小时前
Linux服务器配置(mariadb服务器)
linux·服务器·mariadb
忧郁的橙子.15 小时前
k8s 主节点重启后 从节点 get 异常
linux·运维·服务器
半梦半醒*16 小时前
nginx的访问控制、用户认证、https
linux·运维·服务器·nginx·https·centos
独行soc16 小时前
2025年渗透测试面试题总结-90(题目+回答)
网络·python·安全·web安全·adb·渗透测试·安全狮
猫头虎16 小时前
如何利用海外 NetNut 网络代理与 AICoding 实战获取 iPhone 17 新品用户评论数据?
网络·人工智能·计算机网络·网络安全·ios·网络攻击模型·iphone
安审若无17 小时前
解决 sqlplus / as sysdba 登录缓慢问题
运维·服务器·数据库
CryptoCrawler17 小时前
文件包含与下载漏洞
网络·安全
进击的_鹏17 小时前
【Linux】权限
linux·服务器
自我陶醉@17 小时前
计算机网络---网络层
网络·计算机网络·考研·学习方法·408·王道考研
AWS官方合作商18 小时前
AWS实战:轻松创建弹性IP,实现固定公网IP地址
tcp/ip·云计算·aws