登录/注册

adc补码

更多

您提到的 “ADC补码” 通常是指 ADC(模数转换器)输出的数据采用补码(Complement)编码格式。以下是针对此概念的中文详解:


1. 补码的本质


2. 为何ADC使用补码?


3. 关键处理步骤

步骤1:读取原始补码

uint16_t raw_data = ADC_DR; // 从ADC寄存器读取原始数据(假设16位宽度)

步骤2:转换为有符号整数

int16_t signed_value = (int16_t)raw_data; // 直接类型转换(若ADC输出即为补码)

注意:如果ADC位数小于总线宽度(如12位ADC用16位寄存器),需先进行符号位扩展:

// 12位ADC补码扩展至16位
int16_t signed_value = (int16_t)(raw_data << 4) >> 4; 

步骤3:换算为实际电压

float voltage = signed_value * (Vref / (1 << (ADC_BITS - 1))); // Vref=参考电压

公式解析:

  • 补码范围 -2048 ~ +2047(12位ADC)
  • 电压范围:-Vref ~ +Vref - LSB

4. 实际案例

假设 12位ADCVref = 5V,输出补码值 0xFFF

  1. 原始数据:0xFFF → 有符号值 = -1
  2. 电压值 = -1 * (5V / 2048) ≈ -2.44 mV

5. 常见问题排查


6. 重要提醒

如果需要具体型号的ADC补码处理代码(如AD7606、ADS1256等),请告知芯片型号,我可提供针对性解决方案!

ADS1255输入信号接近满幅时,输出补码会溢出,怎么解决?

,但输入信号接近满幅时,输出补码会溢出。通过调小FSC(如:从49XXXX调整为20XXXX),可以使输出补码正确限幅。 手册上讲A positive full-scale input produces

2024-12-20 15:21:42

二进制补码及与原码的互相转换方法

大沙把一些基础的知识说清楚,本文介绍二进制补码及与原码的转换方法。 先说原码,原码‌是一种计算机中对数字的二进制定点表示方法。在原码表示法中,数值前面增加了一位符号位,最高位为符号位,0表示正数,1

2024-09-19 22:25:00

计算机原码、反码、补码的概念

在计算机内部数值是以补码的方式进行存储的,采用补码进行数据存储当然有其优点,下面会一一介绍相关内容,让各位彻底弄懂原码、反码、补码的概念以及为什

2024-01-09 12:25:09

白话讲解ADC模数转换(可下载)

首先我们来简单介绍一下 ADC,ADC 即 AnalogToDigitalConverter,简单来讲就是它可以把模拟量转化为数字量,方便程序去处理下面我们来看一下

资料下载 松山归人 2025-03-19 13:59:31

4位补码范围

4位补码可表示的整数的数值范围是十进制-8~7. 1000 → -8; 1001 → -7; 1010 → -6; 1011 → -5;

资料下载 baiwei332 2022-06-06 09:37:29

将24位(任意位数)补码转换成有符号整数的方法

我们在使用ADC的时候可能会遇到AD转换结果以24bit、12bit、10bit或诸如此类的补码形式输出,而计算机或单片机中,变量类型大多是8bit、16bit、32bit的。那该怎样把这些AD转换

资料下载 362163 2022-01-13 13:22:21

【2021-04-05】二进制中的原码反码补码与二进制数的左移右移

二进制中原码补码与左移右移

资料下载 佚名 2022-01-12 18:28:33

AD5329:二进制补码双12位DAC初步数据表(PRC版本,12/99)

AD5329:二进制补码双12位DAC初步数据表(PRC版本,12/99)

资料下载 ah此生不换 2021-05-26 09:09:34

计算机的原码与反码及其补码是干啥的?

  很多人都只知道计算机使用的是二进制,但很少有了解到计算机是以补码的方式进行存储数据的。  不过补码是通过原码、反码一步步演变而来的。  原码  原码是一种计算机对数字的二进制的定点表示方法

2023-04-13 17:04:40

关于二进制表示和补码计算

作为一名软件开发者,入门学习的内容可能就是认识这 2 个既简单、又强大的数字。但是大部分人,对于二进制、二进制计算、原码、反码以及补码的认识,仍处于机械的强制记忆阶段。尤其是对一些编码和计算,仍然处于模糊的认识阶段

2022-07-01 09:48:29

什么是原码、反码和补码

文章目录1 前言2 什么是原码、反码和补码2.1 原码表示法2.2 反码表示法2.3 补码表示法2.4 小结2.4 在计算机中为什么采用补码来进

2021-12-15 07:00:05

计算机为什么要使用补码

,增加了计算的时间,能不能用加法器实现减法器的功能?这个实现的过程就用到了补码。 计算机为什么使用补码?采用补码可以简化计算机硬件电路设计的复杂

2021-09-12 16:06:43

深入探求反码和补码

本篇文章讲解了计算机的原码, 反码和补码。 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码

2020-09-15 15:23:49

计算机为什么使用补码的形式来表示负数

。 补码:正数的补码还是其本身;负数的补码是在其原码的基础上,符号位保持不变,其余位取反,最后+1。即反码加1。

2020-02-12 15:28:29

补码是什么 补码和原码的转化

计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。在计算机系统中,数值一律用补码来

2019-12-11 17:45:23
7天热门专题 换一换
相关标签