这是我的初始化代码,初始化完毕后直接读ID结果读出来的值全是0x80或0xff或0xaa这样数值,实际1299的ID是0x3e,帮忙看一下,有什么问题??
void Stop_Read_Data_Continuous(void) //发送SDATAC指令函数
{
ads_cs_low();
SPI_WriteReadByte(SDATAC); //SDATAC(0x11)
ads_cs_high();
}
void ADS_INIT(void)
{
ads_clkselhigh(); //CLK_SEL=1,选择内部时钟
ads_powerup(); //PDWN=1
ads_startlow(); //START=0
ads_resethigh(); //RESET=1
delay_ms(1000);
ads_resetlow(); //RESET=0
delay_ms(100);
ads_resethigh(); //RESET=1
delay_ms(1);
ads_cs_high(); //CS_DISABLE
Stop_Read_Data_Continuous(); //先发送SDATAC指令
}
uint8_t ADS_Read_Version(void) //读ID函数
{
uint8_t Version_ID = 0;
ads_cs_low();
SPI_WriteReadByte(Read_ID); //Read_ID(0x20)
SPI_WriteReadByte(SINGLE_BYTE_READ_WRITE); //SINGLE_BYTE_READ_WRITE(0x00)
delay_us(10);
Version_ID = SPI_WriteReadByte(SPI_TEST_DATA); //SPI_TEST_DATA(0xDD)
ads_cs_high();
return Version_ID;
}
Kailyn Chen:
发送完SDATAC命令之后,没有配置寄存器1和2吗? 采用的内部参考还是外部参考?
ADS1299 datasheet Page62中给出了初始化的顺序,可以参考一下。
Li Chao Li:
回复 Kailyn Chen:
发送完SDATAC命令之后,配置了所有寄存器,然后才读的ID,只是我配置寄存器的部分代码我没有贴出来。采用的是内部参考电压,我有参照ADS1299 datasheet Page62中的初始化的顺序
Li Chao Li:
回复 Kailyn Chen:
出现这样的情况,还有什么需要特别注意的吗?
user5194540:
回复 Li Chao Li:
你好,请问你的问题解决了吗,我最近弄这个芯片,也是都出来的都是0xff,请问你有解决方案了没
user5295440:
你好,我是新手,这些操作函数哪里可以找到?
user5196334:
回复 user5194540:
您好,我也在学习ads1299,可以一起研究讨论一下吗?
user5196334:
回复 Li Chao Li:
您好,请问一下,不配置寄存器能否读ID啊,寄存器怎么配置呢?谢谢您,