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;
	}
相关推荐
Web极客码2 分钟前
AI的下一个风口:智能助力超越ChatGPT
服务器·人工智能·ai编程
2401_8685347820 分钟前
RTOS与Linux的区别对比解析
linux·运维·服务器
Bert.Cai21 分钟前
Linux chmod命令详解
linux·运维·服务器
eggrall23 分钟前
Linux信号——信号捕捉
linux·运维·服务器
Bert.Cai30 分钟前
Linux chown命令详解
linux·运维·服务器
青梅橘子皮33 分钟前
Linux---进程切换与调度
linux·运维·服务器
utf8mb4安全女神40 分钟前
【forwarding】怎么把客户端的日志转发到服务器【日志转发】【rsyslog服务】
运维·服务器
星恒讯工业路由器1 小时前
4G自组网与VPDN专网技术解析
网络·物联网·信息与通信·4g自组网·vpdn专网
承渊政道1 小时前
Linux系统学习【进程控制:进程创建、终止与等待、进程程序替换、自主shell命令行解释器详解】
linux·服务器·c++·学习·ubuntu·bash·远程工作
志起计算机编程1 小时前
挖掘单节点Clickhouse极致性能上限
服务器·开发语言·python