stm32F103读取ads8341采集的AD值
ADS8341是美国德州仪器的16位、4通道、SPI接口的AD采样芯片,可以配置成单端模式和差分模式,以下配置的是单端模式,可以独立使用四个通道。
配置stm32 的spi的CPOL=0;CPHA=0;配置位8位
ADS8341是16位4通道的AD转换芯片,stm32若配置好后,根据相关配置可以输入0x97,0xD7,0xA7,0xE7采集ads8341的CH0、CH1、CH2、CH3通道的转换值,从ads8341的时序图可以看出,总共需要至少25个时钟才能完整的将转换值读出,其中前8个是写,第9个在转换,读取值是在第10个时钟,我们可以连续读三次,在经过移位操作获取完整的转换值。
在使用过程中最好结合示波器,查看自己的输入的值,芯片AD转换后的值,AD的参考电压、模拟端的电压等,这样可以最快的调试自己的代码。
save_data[0]=SPI2_ReadWriteByte(0x00);
save_data[1]=SPI2_ReadWriteByte(0x00);
save_data[2]=SPI2_ReadWriteByte(0x00);
value = ((save_data[0]&0x7F)<<9) | (save_data[1]<<1) | ((save_data[2]>>7)&0x01);
下图是ADS8341的时序图