我当前仅尝试运行 ads8354的一个通道。 我正在通过 STM NUCLEO 板与 ADC 进行通信。
两个通道的基准电压均从外部给出。
REFIO_A=REFIO_B=5V
REFGND_A=REFGND_B=0V
AVDD=5V
DVDD = 3.3V
输入电压= 1.1V
我们的代码是-
#include "mbed.h"
int 数据;
SPI SPI (D11、D12、D13);// MOSI、MISO、SCLK
DigitalOut cs (PA_4);
uint16_t digited_volth;
uint16_t digited_voltl;
int main(){
//必须取消选择芯片
CS = 1;
//为16位数据设置 SPI、高稳定状态时钟、
//第二个边沿捕获、时钟速率为1MHz
SPI.format (16、0);
spi.frequency(4800000);
while (1)
{spi.lock();
//通过将芯片选择设置为低电平来选择器件
Cs =0;
//发送
Wait_us (1000);
SPI.WRITE (0x8400);
digit_volth = SPI.write (0x0000);
digit_voltl= spi.write (0x0000);
printf ("digital voltageh = 0x%X\n"、digit_volth);
printf ("数字 voltagel = 0x%X\n"、digit_voltl);
等待(1);
//取消选择设备
CS = 1;
等待(3);
spi.unlock();
}
}
此代码的输出为
数字电压 h = 0x0
数字电压= 0x0
数字电压 h = 0x0
数字电压= 0x0
数字电压 h = 0x0
数字电压= 0x0
数字电压 h = 0x0
数字电压= 0x0
成功运行 ADS8354IRTET 上的代码后。 它发挥了作用。
但现在我在 ADS8354IPWR 上使用了相同的代码、它不起作用。
该 IC 是否对热量非常敏感?
焊接和脱焊是否会导致问题?
为什么它不提供输出?