主题中讨论的其他器件: DAC8760
大家好。 我是新使用此芯片 ADS1263的人。 为了避免一些问题、我使用示例 TIDCAN1A-TIPD188固件中的代码。 我正在使用 Microchip、而 SPI 由软件制成。 所以,我只更改了使 SPI 驱动程序成为一个较低级函数。 嗯、当我向寄存器发送字节时、我们注意到它们是有效的、并且有一些字节读取 ADC。 但是、当我们尝试在启动时读取所有寄存器、例如在更改它们之前的示例、它们中的大部分都是0。 至少有3个值随附。 其中许多都有默认值、我们读取的值为0。 我们注意到的另一点是、这是一个问题。 我们使用 校准命令程序、当我们读取寄存器时、它们位于00中。
电子设计与 ADS1263评估板相同。 SPI 功能软件与 DAC8760使用相同的代码、只需更改引脚分配。
我添加了我使用的部分代码。 n´t 我不知道我是否错过了什么。 希望有人能帮忙。 谢谢你
//偏移自校准命令 void ADS126xSendSFOCAL1Command (void){ uint_fast8_t inPMUX_byte、sporte_byte;// bes Leo las entradas anteriores //读取 INPMUX 设置 ADS126xReadRegister (INPMUX、1、&INPMUX_byte); //打开多路复用器 sporte_byte = 0xFF; ADS126x 写入寄存器(INPMUX、1、&sportate_byte); // cs 低 IO_CS_ADS_SET_LOW (); //写入命令 ui8Read_Write_SPI_ads126x (SFOCAL1); //将 CS 设置为高电平 IO_CS_ADS_SET_HIGH (); //恢复 INPMUX 值 ADS126x 写入寄存器(INPMUX、1、INPMUX_BYTE); //读取偏移以存储它 ADS126xReadRegister (OFCAL0、1、SFOL1_Bytes[0]); ADS126xReadRegister (OFCAL1、1、SFOL1_Bytes[1]); ADS126xReadRegister (OFCAL2、1、SFOCAL1_Bytes[2]); } //从给定的数组指针向多个连续的寄存器写入 void ADS126xWriteRegister (int StartAddress、int NumRegs、unsigned char * pdata) { //设置 CS 0 IO_CS_ADS_SET_LOW (); ui8Read_Write_SPI_ads126x (0x40+StartAddress); ui8Read_Write_SPI_ads126x (NumRegs-1); for (int i=0;i <<