C到Pascal类型的转换

博扬·加夫里罗维奇(Bojan Gavrilovic)

再会,

我致力于Master(使用Lazarus的Raspberry pi 2B)和Slave-Arduino Nano之间的I2C通信。在Arduino上,我定义了

 typedef union
 {
   float Temperature;
   uint8_t bytes[4];
 } floatuint;
 floatuint fu;

我在Raspberry pi上定义了

 TFloatUint = packed record
   case Boolean of
     False: (dabDouble: Double);
     True: (dabByte: packed array[0..3] of cuint8);
 end;

使用命令

 count := FpRead(I2DeviceHandle, fl.dabByte, 4);

我收到相同的字节数组值,但是fl.dabDouble显示不同的结果。

例如:

 fu.Temperature = 19.19;
 fu.bytes = (0, 128, 153, 65);

 fl.dabByte = (0, 128, 153, 65);
 fl.dabDouble = 2.6656892163191751e-314

我在哪里弄错了?

鲁道德

Double的大小为8字节(帕斯卡)。使用的Single是4个字节。

TFloatUint = packed record
   case Boolean of
     False: (dabSingle: Single);
     True: (dabByte: packed array[0..3] of cuint8);
 end;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从C ++到Delphi的类型转换

来自分类Dev

类型转换(* void []到向量C ++)

来自分类Dev

如何使用struct转换C类型的Pascal样式字符串

来自分类Dev

C宏将字符串转换为pascal字符串类型

来自分类Dev

C ++到C#代码转换,引用与值类型的麻烦

来自分类Dev

Java到C#的转换-int uint类型

来自分类Dev

从C ++数据结构到Swift的类型转换

来自分类Dev

C类型转换uint32到uint16

来自分类Dev

从HANDLE到ULONG C ++进行类型转换截断

来自分类Dev

C ++中的类到类数据类型转换

来自分类Dev

C代码32到64位类型转换

来自分类Dev

从C ++数据结构到Swift的类型转换

来自分类Dev

C#字符串到必要的类型转换

来自分类Dev

c ++从“ B”到非标量类型“ A”的转换请求

来自分类Dev

C#类型转换(字符串到int)

来自分类Dev

Objective-C 指针类型“NSString *”到 C 指针类型“CFStringRef”错误的奇怪转换

来自分类Dev

PySpark 到数组类型的转换

来自分类Dev

从“ DBNull”类型到“ Double”类型的转换无效

来自分类Dev

从“ DBNull”类型到“ String”类型的转换无效

来自分类Dev

在C ++中从用户定义类型到原始类型的隐式转换

来自分类Dev

在C ++中从用户定义类型到原始类型的隐式转换

来自分类Dev

C ++中的类型转换

来自分类Dev

C ++中的类型转换

来自分类Dev

无法转换类型C ++

来自分类Dev

C ++中的类型转换

来自分类Dev

C ++类型转换错误/

来自分类Dev

c语言类型转换

来自分类Dev

c 中的类型转换

来自分类Dev

将两个C ++函数转换为Pascal