TI论坛
直播中

建立建利12

9年用户 1393经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[问答]

ADS8688读取采集数据,每个采集值后面带个xFFF是什么意思?


  • 您好,请问每个采集值后面带个xFFF是什么意思,在手册上哪里都提及到?例如,读取AIN0-AIN7的数据,:C83B 0FFF 8E98 1FFF 8006 2FFF 3EE1 3FFF C831 4FFF 8198 5FFF 8206 6FFF 342C 7FFF
    读取部分代码:
    for(i=0;i<16;)
    {
      CS0;
      SPI2_ReadWriteByte(AD8688_NO_OP);
      addata=SPI2_ReadWriteByte(0xffff);
      addata[i+1]=SPI2_ReadWriteByte(0xffff);
      CS1;
      Delay_us(1);
      i=i+2;
    }

回帖(2)

郑雅颖

2024-12-11 14:01:11
  可能跟你的软件有关, 读取是 16位的, 你却成了 32 位.
举报

周必镜

2024-12-12 09:22:35
您好!在您提供的代码和数据中,每个采集值后面带的 "xFFF" 表示的是16位的有符号整数的补码表示。在这种情况下,"FFF" 是16位二进制补码的最高位(符号位)为1,表示这是一个负数。

在您的代码中,您使用了 `SPI2_ReadWriteByte(0xffff)` 来读取数据。这里的 `0xffff` 是一个16位的掩码,用于读取16位的数据。当您读取数据时,您需要将两个8位的数据合并成一个16位的数据。例如,`C83B` 和 `0FFF` 合并后得到 `C83B0FFF`。

关于手册中的提及,您可以查看ADS8688的数据手册,特别是关于数据格式和通信协议的部分。在数据手册中,您应该可以找到关于如何读取数据以及如何处理有符号整数的补码表示的详细信息。

希望这能帮助您理解每个采集值后面带的 "xFFF" 的含义。如果您有其他问题,请随时提问。
举报

更多回帖

×
20
完善资料,
赚取积分