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

modbus 的float与uint_16的转换

    float values = 0.5;  // 要写入的值
    uint16_t wdata[2]{ 0 };
    modbus_set_float(values, wdata);
    // 写多个寄存器  
    int rc = modbus_write_registers(ctx, 8194, 2, wdata);
    if (rc == -1) {
        // 写操作失败,处理错误  
        fprintf(stderr, "Failed to write registers: %s\n", modbus_strerror(errno));
        modbus_close(ctx);
        modbus_free(ctx);
        ctx = nullptr;
        // 可能还需要更新UI以反映连接状态  
    }
    else {
        qDebug() << "Registers written successfully.";

        // 读取写入的寄存器以验证  
        uint16_t rdata[2] = { 0 };
        rc = modbus_read_registers(ctx, 8194, 2, rdata);
        if (rc == -1) {
            // 处理读取错误  
        }
        else {
            float read_value = modbus_get_float(rdata); // 假设这个函数正确处理了字节序  
            qDebug() << "Read value:" << read_value;
            // 验证读取的值是否与写入的值相同  
            if (fabs(read_value - values) < 0.0001) {
                qDebug() << "Read and written values match.";
            }
            else {
                qDebug() << "Read and written values do not match!";
            }
        }
    }


http://www.kler.cn/news/321730.html

相关文章:

  • 双十一有哪些数码家电值得入手?双十一五款必入手名单大曝光
  • Python 入门(一、使用 VSCode 开发 Python 环境搭建)
  • 数学建模练习小题目
  • 嵌入式项目:STM32平衡车详解 (基础知识篇) (基于STM32F103C8T6)
  • 基于Ambari搭建hadoop生态圈+Centos7安装教程V2.0优化版(本篇博客写的较为详细,可能比较多,请耐心看)
  • Android在外部存储上读写图片文件
  • 【python】range 语句
  • NLP 生成式任务核心梳理
  • react通过下拉框选择多个,并展示在下方的方式
  • 看Threejs好玩示例,学习创新与技术(React-three-fiber)
  • 【C++篇】从零实现 C++ Vector:深度剖析 STL 的核心机制与优化
  • SpringCloud源码:客户端分析(二)- 客户端源码分析
  • ArduSub程序学习(11)--EKF实现逻辑①
  • [AI问答] Auto-sklearn和Auto-Keras对比
  • Ubuntu20.04.6 环境下docker设置proxy
  • SpringBoot-Starter2.7.3自动装配Redisson升级版本运行时的问题
  • 自动驾驶技术:人工智能驾驶的未来
  • tauri程序加载本地图片或者文件在前端页面展示
  • ModStartCMS v8.9.0 图片上传优化,富文本编辑器修复
  • Spring Boot 实战:使用观察者模式实现实时库存管理
  • localectl 命令:系统语言、键盘布局和区域设置
  • CORE 中间件、wwwroot
  • C++11中引入的thread
  • 正向科技|格雷母线定位系统的设备接线安装示范
  • 脚手架是什么?详细版+通俗易懂版!!!!!!
  • DNS与host文件
  • 职业技能大赛-自动化测试笔记(PageObject)分享-4
  • 如何将自定义支付网关与 WooCommerce Checkout 区块集成
  • HarmonyOS---权限和http/Axios网络请求
  • 处理 VA02修改行项目计划行(SCHEDULE LINES )报错:不可能确定一个消耗帐户