当前位置: 首页 > news >正文

libmodbus 源码学习笔记

1.核心函数_框架_数据结构

        

整个通信的过程 就是上面这个框架 下面就是具体过程

<1> 主设备 我们首先要初始化 我们要使用的串口  然后 设置我们要访问的哪一个设备 最后打开串口

<2>从机设备 也是我们要初始化我们的串口 然后随后立即设置我们的串口设备地址 最后也是连接 打开串口.

<3>随后我们假设 我们主机发送数据给从机,如下图所示

在这个发送数据的过程中肯定有这三个阶段: a.构建消息 b.发送消息 c.接收回应

<4>随后我们的从机接收到数据

接收到数据,对那些数据,从机也进行回应,第一个 modbus_send_raw_request 它是我们自己构建数据进行回应,第二个modbus_reply 则是规范好的 数据框架进行回应

2.发送请求

        

3.接收请求

        

4.从机回应

相关文章:

libmodbus 源码学习笔记

1.核心函数_框架_数据结构 整个通信的过程 就是上面这个框架 下面就是具体过程 <1> 主设备 我们首先要初始化 我们要使用的串口 然后 设置我们要访问的哪一个设备 最后打开串口 <2>从机设备 也是我们要初始化我们的串口 然后随后立即设置我们的串口设备地址 最后…...

通用网络安全设备之【防火墙】

概念&#xff1a; 防火墙&#xff08;Firewall&#xff09;&#xff0c;也称防护墙&#xff0c;它是一种位于内部网络与外部网络之间的网络安全防护系统&#xff0c;是一种隔离技术&#xff0c;允许或是限制传输的数据通过。 基于 TCP/IP 协议&#xff0c;主要分为主机型防火…...

Vue.js基础——贼简单易懂!!(响应式 ref 和 reactive、v-on、v-show 和 v-if、v-for、v-bind)

Vue.js是一个渐进式JavaScript框架&#xff0c;用于构建用户界面。它专门设计用于Web应用程序&#xff0c;并专注于视图层。Vue允许开发人员创建可重用的组件&#xff0c;并轻松管理状态和数据绑定。它还提供了一个虚拟DOM系统&#xff0c;用于高效地渲染和重新渲染组件。Vue以…...

Mybatis 执行存储过程,获取输出参数的值

数据库环境&#xff1a;SQL Server 2008 R2 存储过程 alter procedure proc_generateOuterApplyId acceptType varchar(4),acceptGroupId int,outerApplyId varchar(20) output as begin set nocount onset outerApplyId 24GD6688--select outerApplyId as …...

RAG架构类型

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

Oracle 数据库 IDENTITY 列的性能选项

在上一篇文章Oracle 数据库 IDENTITY 列中&#xff0c;我们介绍了Oracle IDENTITY列的基础知识。本文将介绍IDENTITY列的几个性能选项。由于IDENTITY列内部使用sequence机制&#xff0c;因此也等同于是sequence的性能选项。 由于sequence是递增的&#xff0c;在高并发时&#…...

计算(a+b)/c的值

计算&#xff08;ab&#xff09;/c的值 C语言代码C语言代码Java语言代码Python语言代码 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 给定3个整数a、b、c&#xff0c;计算表达式(ab)/c的值&#xff0c;/是整除运算。 输入 输入仅一行&…...

OpenCV从入门到精通实战(八)——基于dlib的人脸关键点定位

本文使用Python库dlib和OpenCV来实现面部特征点的检测和标注。 下面是代码的主要步骤和相关的代码片段&#xff1a; 步骤一&#xff1a;导入必要的库和设置参数 首先&#xff0c;代码导入了必要的Python库&#xff0c;并通过argparse设置了输入图像和面部标记预测器的参数。…...

unity | 动画模块之卡片堆叠切换

一、预览动画 可以放很多图&#xff0c;可以自己往后加&#xff0c;可以调图片x轴和y轴间距&#xff0c;可以调图片飞出方向&#xff0c;可以调堆叠方向。 图1 图片堆叠动画预览 二、纯净代码 有粉丝问我这个效果&#xff0c;最近很忙&#xff0c;没有时间细写&#xff0c;先…...

前端开发工程师需要学什么?

‌前端开发工程师需要学习的主要内容包括HTML、CSS、JavaScript、前端框架、响应式设计、性能优化、版本控制等。‌ HTML/CSS/JavaScript ‌HTML‌&#xff1a;是网页的骨架&#xff0c;负责网页的结构和内容。‌CSS‌&#xff1a;用于美化网页&#xff0c;设计样式和布局。‌…...

网络常见命令

一.添加ip地址 &#xff08;1&#xff09;先进入端口号 interface 端口号 &#xff08;2&#xff09;添加ip地址 IP address xxx.xxx.x.x 主机位 二、查看路由表&#xff08;查看192.168.3.1&#xff09; display ip routing-table 192.168.3.1 三、宣告&#xff08;宣告完后…...

logminer挖掘日志归档查找问题

--根据发生问题时间点查找归档文件 select first_time,NAME from gv$archived_log where first_time>2016-03-15 17:00:00 and first_time<2016-03-15 21:00:00; 2016-03-15 17:23:55 ARCH/jxdb/archivelog/2016_03_15/thread_1_seq_41588.4060.906577337 2016-03-15 17:…...

Flume和kafka的整合:使用Flume将日志数据抽取到Kafka中

文章目录 1、Kafka作为Source【数据进入到kafka中&#xff0c;抽取出来】2、kafka作为Sink 【数据从别的地方抽取到kafka里面】 1、Kafka作为Source【数据进入到kafka中&#xff0c;抽取出来】 kafka源 --> memory --> 控制台&#xff1a; a1.sources r1 a1.sinks k1…...

springboot实战(19)(条件分页查询、PageHelper、MYBATIS动态SQL、mapper映射配置文件、自定义类封装分页查询数据集)

引言&#xff1a; 该类博客的学习是基于b站黑马视频springbootvue视频学习&#xff01;具体围绕项目——"大事件"进行实战学习。 目录 一、功能介绍&#xff08;需求&#xff09;。 1、文章列表功能基本介绍。 2、条件分页查询功能与注意。 3、前端页面效果。&#x…...

ScreenshotToCode安装教程

网页截图生成代码&#xff0c;我测试的效果一般 快速安装教程如下 1&#xff0c;首先你得有OpenAI的账号 国内用这个代理就可以&#xff1a; https://www.closeai-asia.com/ 充值一块钱&#xff0c;在本项目中可以生成两次 2&#xff0c;下载程序 下载程序压缩包&#xff1…...

最佳实践:如何在 Vue.js 项目中使用 Jest 进行单元测试

前言 随着应用程序规模和复杂性的增加&#xff0c;保证代码质量和稳定性变得愈发重要。单元测试作为软件测试的一部分&#xff0c;能够有效地捕捉代码中的错误&#xff0c;防止在开发过程中引入新的 Bug。在众多测试框架中&#xff0c;Jest 因其易用性、强大功能以及与 Vue.js…...

MySQL 与 MongoDB 存储差异分析

MySQL 与 MongoDB 存储差异分析&#xff1a;为什么随机生成数据的存储空间不同&#xff1f; 在实际应用中&#xff0c;我们常常需要选择合适的数据库系统来处理不同类型的数据。在这个过程中&#xff0c;数据库的 存储机制 和 性能优化 起着至关重要的作用。对于很多开发者来说…...

【2024】前端学习笔记19-ref和reactive使用

学习笔记 1.ref2.reactive3.总结 1.ref ref是 Vue 3 中用来创建响应式引用的一个函数&#xff0c;通常用于基本数据类型&#xff08;如字符串、数字、布尔值等&#xff09;或对象/数组的单一值。 ref特点&#xff1a; ref 可以用来创建单个响应式对象对于 ref 包裹的值&…...

2024.11.26总结

今晚考了个科目四&#xff0c;只准备了半天&#xff0c;考试的时候几乎都是乱选的&#xff0c;选完后就走人了&#xff0c;相当于白白浪费了一次机会。有时候感觉上班太累了&#xff0c;不知道是心累&#xff0c;还是其他方面。 思来想去&#xff0c;还是决定继续在CSDN上输出…...

《通俗易懂 · JSqlParser 解析和构造SQL》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; 希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数&#xff0c;欢迎多多交流…...

OSPTrack:一个包含多个生态系统中软件包执行时生成的静态和动态特征的标记数据集,用于识别开源软件中的恶意行为。

2024-11-22 &#xff0c;由格拉斯哥大学创建的OSPTrack数据集&#xff0c;目的是通过捕获在隔离环境中执行包和库时生成的特征&#xff0c;包括静态和动态特征&#xff0c;来识别开源软件&#xff08;OSS&#xff09;中的恶意指标&#xff0c;特别是在源代码访问受限时&#xf…...

路由器中继与桥接

一 . 背景 现在的路由器大多数已经开始支持多种网络连接模式&#xff0c;以下将以TP-Link迷你无线路由器为例进行展开介绍。在TP-Link迷你无线路由器上一般有AP&#xff08;接入点&#xff09;模式&#xff0c;Router&#xff08;无线路由&#xff09;模式&#xff0c;Repeate…...

香橙派--安装RKMPP、x264、libdrm、FFmpeg(支持rkmpp)以及opencv(支持带rkmpp的ffmpeg)(适用于RK3588平台)

1. 安装RKMPP git clone https://github.com/rockchip-linux/mppcd mpp/build/linux/aarch64./make-Makefiles.bashmake -j8sudo make installRKMPP&#xff1a;用于编解码测试&#xff0c;支持RK3588平台。 2. 安装x264 git clone https://code.videolan.org/videolan/x264…...

【spark-spring boot】学习笔记

目录 说明RDD学习RDD介绍RDD案例基于集合创建RDDRDD存入外部文件中 转换算子 操作map 操作说明案例 flatMap操作说明案例 filter 操作说明案例 groupBy 操作说明案例 distinct 操作说明案例 sortBy 操作说明案例 mapToPair 操作说明案例 mapValues操作说明案例 groupByKey操作说…...

【Python】九大经典排序算法:从入门到精通的详解(冒泡排序、选择排序、插入排序、归并排序、快速排序、堆排序、计数排序、基数排序、桶排序)

文章目录 1. 冒泡排序&#xff08;Bubble Sort&#xff09;2. 选择排序&#xff08;Selection Sort&#xff09;3. 插入排序&#xff08;Insertion Sort&#xff09;4. 归并排序&#xff08;Merge Sort&#xff09;5. 快速排序&#xff08;Quick Sort&#xff09;6. 堆排序&…...

【346】Postgres内核 Startup Process 通过 signal 与 postmaster 交互实现 (5)

1. Startup Process 进程 postmaster 初始化过程中, 在进入 ServerLoop() 函数之前,会先通过调用 StartChildProcess() 函数来开启辅助进程,这些进程的目的主要用来完成数据库的 XLOG 相关处理。 如: 核实 pg_wal 和 pg_wal/archive_status 文件是否存在Postgres先前是否发…...

Jmeter中的测试片段和非测试原件

1&#xff09;测试片段 1--测试片段 功能特点 重用性&#xff1a;将常用的测试元素组合成一个测试片段&#xff0c;便于在多个线程组中重用。模块化&#xff1a;提高测试计划的模块化程度&#xff0c;使测试计划更易于管理和维护。灵活性&#xff1a;可以通过模块控制器灵活地…...

利用 Jsoup 进行高效 Web 抓取与 HTML 处理

Jsoup 是一款 Java 的 HTML 解析器&#xff0c;可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API&#xff0c;可通过 DOM&#xff0c;CSS 以及类似于 JQuery 的操作方法来取出和操作数据。 官网&#xff1a;https://jsoup.org/ 中文文档&#xff1a;Jsou…...

【Java】二叉树:数据海洋中灯塔式结构探秘(上)

个人主页 &#x1f339;&#xff1a;喜欢做梦 二叉树中有一个树&#xff0c;我们可以猜到他和树有关&#xff0c;那我们先了解一下什么是树&#xff0c;在来了解一下二叉树 一&#x1f35d;、树型结构 1&#x1f368;.什么是树型结构&#xff1f; 树是一种非线性的数据结构&…...

微信小程序 WXS 的概念与基本用法教程

微信小程序 WXS 的概念与基本用法教程 引言 在微信小程序的开发中,WXS(WeiXin Script)是一种特殊的脚本语言,旨在解决小程序在逻辑处理和数据处理上的一些限制。WXS 允许开发者在小程序的 WXML 中嵌入 JavaScript 代码,以便实现更复杂的逻辑处理。本文将深入探讨 WXS 的…...

外贸网站建设哪家公司比较好/淘宝摄影培训推荐

鼠标滚动上下翻页效果是一种常见的网页交互设计&#xff0c;它使得用户可以通过鼠标滚轮的滚动来实现页面的上下翻页操作。这种效果通常应用于多图片、或长页面分页浏览的情况&#xff0c;使得用户可以方便地快速浏览内容&#xff0c;提高用户的交互体验。 今天作者就教大家如…...

手机制作网站/淘宝直通车推广怎么收费

一、在使用Oracle的to_date函数来做日期转换时&#xff0c;很多Java程序员也许会和我一样&#xff0c;直觉的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换&#xff0c;但是在Oracle中会引起错误&#xff1a;“ORA 01810 格式代码出现两次”。如&#xff1a;select to_da…...

某某网站安全建设方案/百度热度

企业微信是腾讯推出的一个新的办公协作平台&#xff0c;通过与微信一致的沟通体验&#xff0c;为企业员工提供最基础和最实用的办公服务。同时企业微信作为一个开发平台&#xff0c;企业可以根据需要开发定制自己的企业应用集成到企业微信上。ABC WeChat是我们公司为ABC开发的基…...

网页设计与网站开发教程/公司网站设计报价

更新时间&#xff1a;2016-08-05 更新说明&#xff1a; 由于在 Linux 内核的机器上安装 Calibre 需要安装的依赖库过多&#xff0c;故不推荐在此类机器上使用格式转换功能。你可以阅读 在自己的电脑上安装GitBook For Mac 来了解在 Mac 上完美使用 Gitbook . 无意间发现在这个…...

抚州建设网站/如何利用seo赚钱

文章目录文件上传和下载准备工作使用类介绍代码编写文件上传和下载 在Web应用中&#xff0c;文件上传和下载功能是非常常用的功能&#xff0c;这篇博客就来讲一下JavaWeb中的文件上传和下载功能的实现。 准备工作 对于文件上传&#xff0c;浏览器在上传的过程中是将文件以流…...

打造wordpress日志管理系统/今日国际军事新闻最新消息

描述&#xff1a; 根据后端返回来的数据&#xff0c;判断列表页某一条数据是否置顶&#xff0c;如果置顶&#xff0c;则显示icon小图标&#xff0c;点击置顶消息跳到详情页&#xff0c;在详情页里显示icon和时间。这里对详情页的icon和时间显示位置做讲解&#xff0c;因为我使…...