线程中讨论的其它部件: ADS8688
嗨,Sylvain!
我正在尝试在 Proteus 上模拟 ADS8688a ADC,该 ADC 使用您在 GitHub 上贡献的库使用 Arduino IDE 编码。 我谨随函附上所使用的原理图。
我们正在尝试使用微控制器的外部时钟。 当执行 Github 示例文件夹中的代码 read_channel.ino 时,即使我们将3.7V 电源连接到 AIN0P 引脚,AIN0_GND 正在接地,我们仍将获得5.12V (0xFF)的全刻度读数。
请帮助我们调试这种 asap 吗?
此致,
阿莫格
代码:
/* ADS8688库示例 | |
* | |
* PIN 连接: | |
* GNF:GND | |
* REFIO:NC (当 REFSEL 连接到 GND 时输出4.096V 参考电压) | |
* REFSEL:GND (启用内部4.096V 参考) | |
* SDI:引脚11 / mega 引脚51 | |
* RST/PD:+5V | |
*菊花:NC | |
* CS:引脚10 / mega 引脚10 | |
* SCK:引脚13 / mega 引脚52 | |
* SDO:引脚12 / mega 引脚50 | |
*报警:常闭 | |
* AVDD:+5V | |
* DVDD:+5V (数字逻辑电平) | |
* | |
#include <ADS888.h> #include<SPI.h> |
|
ADS8688 bank = ADS8688();//用 PIN 10实例化 ADS8688作为缺省 CS | |
void setup(){ | |
bank.setChannelSPD(0b00000010);//启用通道0,关闭其它通道的电源 | |
bank.setChannelRange(0,R6);//将所有信道范围设置为+-1.25*Vref | |
bank.autoRst();//重置自动序列 | |
Serial.begin(115200);//开始串行通信 | |
} | |
void loo(){ | |
serial.print ("CH0:");//打印标签 | |
UINT16_t val = bank.noOp();//触发器采样 | |
串行打印(气缸组.I2V (val,R1));//打印值(单位为伏特) | |
serial.println("V");//打印电压标签 | |
延迟(500);//等待500毫秒 | |
} |