请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:ADS1292 您好,
感谢您花时间帮助解决我的问题。
我已经使用ADS1292R IC和ATMEGA 328P构建了原型板。 我只是尝试在板载上使用24位ADC,目前我的应用程序不需要其他功能。
我正在使用"Protocentral_ADS1292R"代码作为参考。
我能够在ADS1292中读取和写入寄存器(通过读取来验证写入寄存器),但一旦我发出“RDATAC”选项代码,并开始尝试接收数据(24位状态+24位通道1_ADC_DATA +24位通道2_ADC_DATA),数据就不正确。
我认为问题在于我的SPI读取功能或设备配置。
请帮助我了解在连续模式下使用2个ADC的寄存器配置。
请帮助我了解接收双通道信息的SPI读取过程。
IF ((digitalRead (ADS1292_DRDY_PIN))== LOW) { DigitalWrite (ADS1292_CS_PIN,低); //读取24位状态 B1 = SPI.transfer (0b00); B2 = SPI.transfer (0b00); B3 = SPI.transfer (0b00); //读取24位Chan1 ADC数据 B4 = SPI.transfer (0b00); B5 = SPI.transfer (0b00); B6 = SPI.transfer (0b00); //读取24位Chan2 ADC数据 B7 = SPI.transfer (0b00); B8 = SPI.transfer (0b00); B9 = SPI.transfer (0b00); DigitalWrite (ADS1292_CS_PIN,高); 长ADS_STATUS =(B1 <<16)+(B2 <<8)+ B3; 长通道1_ADC =(b4 <16)+(B5 <8)+ B6; 长通道2_ADC =(B7 <16)+(B8 <8)+ b9; serial.println (ADS状态,bin); // 24状态位为:(1100+ LoFF_STAT[4:0]+ GPIO [1:0]+13 '0's)。 }