我有一个关于 modbus 设置的问题。 我仔细阅读了文档,尝试搜索一些主题,但不幸的是我没有找到问题的答案。 我有一个热泵,可以通过 modbus 进行通信。 过去没有HA我在ESP8266上有自己的应用程序,读取数据,上传它们等等。现在我想把它移到HA。 我发现 modbus 协议是在 HA ...
我有一个关于 modbus 设置的问题。 我仔细阅读了文档,尝试搜索一些主题,但不幸的是我没有找到问题的答案。 我有一个热泵,可以通过 modbus 进行通信。 过去没有HA我在ESP8266上有自己的应用程序,读取数据,上传它们等等。现在我想把它移到HA。 我发现 modbus 协议是在 HA ...
我正在从蓝牙 gatt 特性中读取数据。 第一个数据是一个字节,我通过代码成功读取了它: characteristic.value[1] 包含 uint16 的最高有效字节 characteristic.value[2] 包含 uint16 的最低有效字节我想要做的是获取 uint16 并将其放 ...
我想将具有 Uint16 像素的图像转换为字节像素。 我实际上正在使用 GDAL 库(和 gdal_translate 命令)来执行此操作,但输出图像比原始图像暗 原始图像 输出图像 你知道我能做些什么来转换 Uint16 -> Byte 而不会失去这种亮度吗? 或者我可以做些什么来转换输出图 ...
我在我的 PIC18F 设备上实现了线性插值,我在其中使用存储在 EEPROM 中的间隔对 ADC 值进行插值。 我测试了代码,但计算不正确。 所以我将它放入我的计算机并且计算运行良好所以我真的不知道问题可能来自哪里,因为我现在用于测试目的的两个函数在两个平台上都是相同的。 这些是两个平台相同的功 ...
我正在使用 Modbus flutter lib,读取我获得的 2 个寄存器: [16177, 4660] 我需要一个 function 将其转换为 32 位浮点值:0.7 我找到了这个 function 它说 0.000045747037802357227 交换字节值你能帮我吗 ...
我遇到了一些问题,并且对使用 uint16_t 和 double 对 C 嵌入式软件(使用 GCC)进行一些操作的正确方法感到困惑。 例1: 这将导致:FQ_u16=2,不是吗? 例 2: 在这种情况下 FQ_dbl =2.9390,但我得到 0.... 或者我应该这样做: 在这种情况下,我不知道进 ...
我发现自己在检查两个无符号数字之间的差值是否 >= 0。我使用以下代码运行了一个运行 Visual Studio 2022 预览版的测试。 在这两种情况下,答案都是正确的。 这对我来说似乎是正确的,因为如何将无符号数视为负数? 但是,当我将所有类型从UINT32更改为UINT16或UINT8 ...
代码片段 1(如下所示)产生以下 -Wconversion 警告: 代码片段 2 和 3 不会产生 -Wconversion 警告。 代码片段 1: 代码片段 2: 代码片段 3: 为什么第一个代码片段会产生警告,而其他代码片段不会? 导致警告的具体原因是什么? 我觉得这很令人困 ...
我正在尝试从 UART 数据包中获取变量而不使用“<<”运算符。 如果我在 keil 中尝试上面的代码,它就可以工作。 当我为 struct 编译器中的数组尝试它时,它不会出错,但它会在运行时转到硬故障处理程序。 我也在在线 c 编译器中尝试了这个(结构中的数组)。 它工作没有任 ...
我正致力于通过 BLE 传输UInt16值。 根据我的阅读,为此目的,我需要将UInt16转换为UInt8 ,这将被转换为Data类型。 我一直在指这个线程。 例如,我使用了下面的代码: 我不太明白的是,当我将UInt16转换为大端数组时,这些值如何加起来等于相应的实际值。 希望这是有道理的。 上 ...
我需要重现一个 JS 函数,该函数在 r 中使用 SHA-256 散列字符串。 所说的功能是: 调用函数: 给我: 作为输出。 我加载 openssl 并尝试使用 sha256 作为函数来散列字符串。 输出是: 不知道问题是否出在 uint16 上,因为在这两种情况下,我猜变量 ...
我正在编写一个 Perl 脚本,该脚本能够加载二进制 RAW 文件(.bin 文件扩展名),计算 CRC-16(无符号短,16 位 ~ 2 字节),并将此 CRC 存储在文件预告片中,使用以下命令: 最后一个命令引发警告,更多的 CRC 没有以正确的方式存储 并且在二进制输出中,最后 2 个 ...
我有一个无符号 8 位 integer 数组,但是这个数组的长度可以高于 255。我想使用指针算法而不是数组索引。 如果以下代码可以接受,有人可以解释我吗? 我怀疑ind变量相对于buff具有不同的类型,这可能被视为糟糕的编程。 Godbolt 显示*(buff + 1)和*(buff + in ...
我正在尝试将UInt16数组转换为UnsafeMutablePointer<UInt16>以调用 C function 从 ZAE832E3B5BDA265996AA84 获取uint16_t * 。 如果我的起点是[UInt8] ,而我的目的地UnsafeMutablePointer ...
go 如何将 Go 中的单个 uint32 变量拆分为两个 uint16 变量,分别代表 16 位 MSB 和 16 位 LSB? 这是我正在尝试做的事情的表示: 现在 go 如何将 16 MSB number给a并将 16 LSB 分配给b ? ...
我试图显示一个 int16_t 的二进制补码的字符串表示。 我找到了(uint16_t)~value + 1;的二进制补码(uint16_t)~value + 1; 如何将 16 位添加到字符串中? ...
我进行这种转换是因为从网络接收的数据是一个unsigned char[8]数组。 每两个字节代表一个 UINT16 数字。 我想通过套接字发送这些字节,但是,套接字需要对字符进行签名(我正在使用 little-endian)。 由于无法将无符号字符转换为有符号字符,我想我可以从两个无符号字符形成一 ...
使用按位运算,是否可以 package 并将以下一组值读回uint16_t变量? 我认为是的,但我试图弄清楚如何使用示例程序。 可以说以下是我想将 package 转换为uint16_t的一组值。 以下是我的程序,旨在写入值并需要回读。 如何使用 C++ 11 写入和读取值? ...
我正在使用 C++11 及更高版本,我问自己是否可以安全地获取像std::uint16_t这样的数据类型所需的字节数来发送长度不可知的协议。 更准确地说,调用sizeof(std::uint16_t)是否安全,我可以假设这总是 2 吗? 那么std::int16_t呢? ...
我的问题是关于 Java Java 的 BitConverter.ToUInt16 的等价物是什么? 我正在尝试翻译C#的这种方法: 至 Java: 但我知道那是错误的。 怎么会是对的? ...