尊敬的支持者:
现在 、这是我第一次使用 ADS7953对3个通道的信号进行采样。 那么、我想问您一些有关如何在我的项目中使用该器件的问题。
我只想在 Auto-2模式中采样 CH0~CH2。 下面是我的尝试代码。 请帮助确认。 谢谢!
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
uint16_t CHL_Val[3]={0};
int ads7953_readVal ()
{
uint8_t buff[2]、TempBuff[2];
uint8_t ret1、ret2、ret3、ret4;
uint16_t pbuff [3];
ret1=0;
ret2=0;
ret3=0;
ret4=0;
//重置命令0x4000
缓冲器[0]= 0x40;
缓冲区[1]= 0x00;
ADS7593_SpiCSControl (ADS7593_CS_LEVEL_L);
ret1= HAL_SPI_Transmit (&hspi1、buff、0x02、10);
ADS7593_SpiCSControl (ADS7593_CS_LEVEL_H);
//自动2模式 编程寄存器0x9080
缓冲器[0]= 0x90;
缓冲区[1]= 0x80;
ADS7593_SpiCSControl (ADS7593_CS_LEVEL_L);
ret2= HAL_SPI_transmit (&hspi1、buff、0x02、10);
ADS7593_SpiCSControl (ADS7593_CS_LEVEL_H);
// 自动2 模式0x3C00
缓冲器[0]= 0x3C;
缓冲区[1]= 0x00;
ADS7593_SpiCSControl (ADS7593_CS_LEVEL_L);
ret3= HAL_SPI_transmit (&hspi1、buff、0x02、10);
ADS7593_SpiCSControl (ADS7593_CS_LEVEL_H);
// 继续选择模式0x0000
缓冲器[0]= 0x00;
缓冲区[1]= 0x00;
ADS7593_SpiCSControl (ADS7593_CS_LEVEL_L);
ret4= HAL_SPI_transmit (&hspi1、buff、0x02、10);
ADS7593_SpiCSControl (ADS7593_CS_LEVEL_H);
buff[0]= 0xFF;//虚拟内容字节0
buff[1]= 0xFF;//虚拟内容字节1
ADS7593_SpiCSControl (ADS7593_CS_LEVEL_L);
ret4= HAL_SPI_TransmitReceive (&hspi1、buff、TempBuff、2、10);// 在这里,我认为第一个应该被忽略????
ADS7593_SpiCSControl (ADS7593_CS_LEVEL_H);
//读取 CH0~CH2信号值
ADS7593_SpiCSControl (ADS7593_CS_LEVEL_L);
for (int i=0;i<3;i++)
{
ret4= HAL_SPI_TransmitReceive (&hspi1、buff、pbuff、2、10);
CHL_Val[i]=(*pbuff)&0x0fff;
}
ADS7593_SpiCSControl (ADS7593_CS_LEVEL_H);
返回0;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////