大家好、
我们的客户有以下查询:
请帮助了解如何在软件转换模式下切换 ADS8686S 通道(我使用一条串行 SDIOA 线作为输出数据)。
在数据表中、不清楚要写入的确切"相关渠道注册"寄存器(第47页)是什么?
在该寄存器中设置通道编号的格式是什么?
是否具有寄存器地址 CH_SEL? 在调整通道时、是否需要将第15位设置为1?
如果可能、提供带位说明的时序交换图。
代码片段:
void start_conv (char ch_a、char ch_b)
{
//输入 args ch_a 和 ch_b 可以为0到7
int tempshort;
静态状态;
字符 txdata[8];
if (ch_a > 8)
CH_A = 7;
如果(ch_b > 8)
ch_b = 8;
CS_ENABLE;
CONVST_ENABLE;
while (BUSY_PIN);
CONVST_DISABLE;
CS_ENABLE;
tempshort = 0;
tempshort |= 0b1000000000000000;// rw
tempshort |= channel_SEL << 9;
//tempshort |=(ch_b << 4)|(ch_a))& 0x00FF;
tempshort |=((5 << 4)|(5))& 0x00FF;
txdata[0]=(tempshort >> 8);
txdata[1]=(tempshort & 0xFF);
txdata[2]=(tempshort >> 8);
txdata[3]=(tempshort & 0xFF);
HAL_SPI_TransmitReceive (&hspi2、&txdata、&SPI_Rx_data、4、100);
cs_disable;
ADC_A[ch_A]=(((short) SPI_Rx_DATA[0]<< 8)+((short) SPI_Rx_DATA[1]);
ADC_b[ch_b]=((short) SPI_Rx_data[2]<< 8)+((short) SPI_Rx_data[3]);
cs_disable;
}