打印
[MCU]

ADS1262采集到的数据一直是-2.4990000

[复制链接]
499|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ggds430074|  楼主 | 2019-8-28 18:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ADS1262的寄存器配置和读写都没有问题,但是发现采集到的32位数据一直为128 0 0 0,这是怎么回事呀?

adc_code = ADS1262ReadData(6,1); //AD读取数据
val = ((long double)adc_code/0x7fffffff);
val*=2.499;
printf("CODE: %10d CODE: %10d VOL: %.8Lf \r\n ",adc_code,adc_code,val);

下面是AD读取数据的程序

int32_t ADS1262ReadData(uint8_t NumBytes, uint8_t DataByteStartNum)
{

// assert((4 == NumBytes) || (5 == NumBytes) || (6 == NumBytes)); //Aborts program if FALSE
// assert((0 == DataByteStartNum) || (1 == DataByteStartNum)); //Aborts program if FALSE

uint8_t ADC_Bytes[6]; //Holds
int32_t ADC_Data_Only;
int i;
DACNCSS(0);
// while(ADS_DRDY);
for( i = 0; i < NumBytes; ++i)
ADC_Bytes[i] = SPI_DAC_SendByte(0);
ADC_Data_Only = ((int32_t)ADC_Bytes[DataByteStartNum + 0] << 24) | //Data MSB
((int32_t)ADC_Bytes[DataByteStartNum + 1] << 16) |
((int32_t)ADC_Bytes[DataByteStartNum + 2] << 8) |
((int32_t)ADC_Bytes[DataByteStartNum + 3] << 0); //Data LSB
DACNCSS(1);

return ADC_Data_Only;
}

使用特权

评论回复

相关帖子

沙发
zhangmangui| | 2019-8-28 21:14 | 只看该作者
需要对时序    时序可能有点差异

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝