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;
	}
相关推荐
fruge15 小时前
Ubuntu服务器已下载Nginx安装包的安装指南
服务器·nginx·ubuntu
孤独得猿16 小时前
聊天室项目开发——etcd的安装和使用
linux·服务器·c++·etcd
楚韵天工17 小时前
宠物服务平台(程序+文档)
java·网络·数据库·spring cloud·编辑器·intellij-idea·宠物
竹等寒18 小时前
Linux-网络安全私房菜(二)
linux·服务器·web安全
早睡冠军候选人18 小时前
Ansible学习----Ansible Playbook
运维·服务器·学习·云原生·容器·ansible
sulikey18 小时前
从实验出发深入理解Linux目录权限:r、w、x分别控制什么?能否进入目录到底由谁决定?
linux·运维·服务器·ubuntu·centos
疯狂吧小飞牛18 小时前
ip rule 策略路由
linux·网络·tcp/ip·运维开发
hour_go19 小时前
TCP/IP协议相关知识点
网络·笔记·网络协议·tcp/ip
Arva .20 小时前
WebSocket实现网站点赞通知
网络·websocket·网络协议
雪兽软件20 小时前
SaaS 安全是什么以及如何管理风险
网络·安全