本帖最后由 qmmdzd 于 2017-8-14 10:38 编辑
新手一枚,想用STM32控制ADS8363进行数据采集,看时序图有些疑问:如果用硬件SPI模式操作的话,RD/CONVST信号该如何控制呢(就是如何配合SPI信号进行开始采集和读写呢)?
我定义了GPIO引脚控制,就是简单的写高低电平 并没有反应。贴下代码
u16 SPI_ADC_SendHalfWord(u16 HalfWord)
{
SPI_ADC_CS_LOW();
SPI_ADC_RDCO_HIGH();
SPI_ADC_RDCO_LOW();
/* Loop while DR register in not emplty */
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);
/* Send Half Word through the SPI1 peripheral */
SPI_I2S_SendData(SPI1, HalfWord);
/* Wait to receive a Half Word */
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET);
/* Return the Half Word read from the SPI bus */
return SPI_I2S_ReceiveData(SPI1);
}
void ADC_Init()
{
SPI_ADC_CS_LOW(); //片选
Delay( 200 );
SPI_ADC_SendHalfWord(0x1002);//选中ADC1
SPI_ADC_SendHalfWord(0x03ff);//配置ADC1的基准电压
SPI_ADC_SendHalfWord(0x1020);//更新整个寄存器
Delay( 200 );
//SPI_ADC_CS_HIGH();
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
已改,谢谢提醒
一周热门 更多>