C#串口温度读取

背景:每天学点,坚持

要安装好虚拟串口和modbus poll,方便调试(相关资源在文末,也可以私信找我要)

传感器部分使用的是达林科技的DL11B-MC-D1,当时42软妹币买的(官网上面有这个传感器的说明:广州达林电子科技有限公司-DL11B_MC_D1温度传感器

然后照着所给说明使用modbus-poll进行调试,可以后就在C#中使用NModbus库来方便读取温度

控制台显示温度的简单样例:

cs 复制代码
class Program
{
    static void Main(string[] args)
    {
        // 设置串口参数
        using (SerialPort port = new SerialPort("COM7"))
        {
            port.BaudRate = 9600;
            port.DataBits = 8;
            port.Parity = Parity.None;
            port.StopBits = StopBits.One;
            port.Open();

            // 创建 Modbus 工厂
            var factory = new ModbusFactory();
            // 使用工厂创建 Modbus 主站 (Master)
            var master = factory.CreateRtuMaster(port);

            try
            {
                // 读取保持寄存器(功能码 03),假设温度数据存储在地址 0x0000
                ushort startAddress = 0x0000;
                ushort[] holdingRegisters = master.ReadHoldingRegisters(1, startAddress, 1);

                // 解析读取到的温度数据
                // 假设寄存器的值即为温度数据(例如,温度为21.8度,可能存储为218)
                float temperature = holdingRegisters[0] / 10.0f;

                // 将温度值显示在控制台
                Console.WriteLine("当前温度: " + temperature + " °C");
            }
            catch (Exception ex)
            {
                Console.WriteLine("读取温度失败: " + ex.Message);
            }
        }

        // 保持控制台打开
        Console.ReadLine();
    }
}

串口助手破解

链接:https://pan.baidu.com/s/1Q5DNgR8v1EWzBD1BF5OYMw?pwd=csdn

提取码:csdn

相关推荐
爱的叹息12 分钟前
Java虚拟机(JVM)家族发展史及版本对比
java·开发语言·jvm
姜行运1 小时前
数据结构【树和二叉树】
android·数据结构·算法·c#
苏州向日葵1 小时前
C#学习知识点记录
开发语言·学习·c#
一念春风1 小时前
C# 音频分离(MP3伴奏)
数据库·c#·音视频
努力学习的小廉1 小时前
【C++】 —— 笔试刷题day_23
开发语言·c++
居然是阿宋1 小时前
Kotlin函数体详解:表达式函数体 vs 代码块函数体——使用场景与最佳实践
java·开发语言·kotlin
小钊(求职中)1 小时前
Java后端开发面试题(含答案)
java·开发语言·后端·面试
万岳软件开发小城1 小时前
基于PHP+Uniapp的互联网医院源码:电子处方功能落地方案
开发语言·uni-app·php·软件开发·互联网医院系统源码·智慧医院app
程序猿多布1 小时前
网络开发基础(游戏)之 粘包分包
网络·游戏·c#
想回家的一天2 小时前
雪花算法生成int64,在前端js的精度问题
开发语言·前端·javascript