您好、先生、
我的客户希望读回配置寄存器00h 至03h。
客户无法读回00h 和01h、但他们可以读回 02h 和03h 数据= 0x00。
出什么问题了吗? 读取这些寄存器时、我们应该做什么区别?
谢谢你。
此致、
艾伦
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、Allen、
实际查看通信的示波器或逻辑分析仪快照会很有帮助。 我怀疑存在与通信和传输的字节相关的问题。 我假设地址引脚都接地、从而生成地址0x40。
当读取 ADS122C04寄存器时、通信必须首先写入 RREG 命令以及寄存器地址、然后是对寄存器数据的 I2C 读取。 过程是这样的 <Address<<1 + nW = x80> <Address<<1 + R = x81>
发送 RREG 命令通常会出现问题。 RREG 命令为0x20、但也应包含要读取的寄存器的地址。 地址值左移2并添加到 RREG 命令。 例如:
此致、
Bob B
尊敬的 Bob:
如何计算转换后的温度值? 我的设置步骤如下:
//配置寄存器1
i2cset -f -y 3 0x40 0x44 0x01
//配置寄存器2 [IDAC[2:0]
i2cset -f -y 3 0x40 0x48 0x06
//配置寄存器3 (IDAC1连接到 AIN3)
i2cset -f -y 3 0x40 0x4c 0x80
/*Start or restart Conversions 命令*/
i2cset -f -y 3 0x40 0x08
/*读取数据命令*/
i2cget -f -y 3 0x40 0x10 w
TEMP_AD = 0xd30f
temp_ad >> 2 * 0.03125=温度
温度= 422
您好、Eddie、
有一个您从外部连接的传感器和 ADC 的内部传感器。 内部传感器是您尝试测量的结果。 如果查看第30页的 ADS122C04数据表表表13、则右移2时返回的代码值为0x34c3、这是一个负温度。
我假设 ADS122C04应报告更接近室温的情况。 发出 START/SYNC 命令后、必须等待转换完成、然后再尝试读取数据、否则 RDATA 命令将返回之前的转换结果。 您如何确定何时读取结果? 您是监控 DRDY 还是使用计时器?
此致、
Bob B