ADS8694怎样使用SPI读取18位数据
时间:10-02
整理:3721RD
点击:
使用STM32F407的硬件SPI接口去读取ADS8694的18位ad数据怎样才能读取出来,因为STM32F407的硬件SPI接口只能设置每次读取的数据位是8位或者16位,看了TI的ADS8694芯片手册上的SPI时序图
发现
是不是直接产生16个SCLK就可以输出18位的SDO数据?
16个SCLK肯定是不会输出18个SDO数据的,你直接配置18个SCLK就好了,到时候直接读取数据寄存器中的值就OK了,不用担心这个问题。
你可以将SPI的数据读写设置为8位的,MCU发送时连续发送两个字节(地址和配置数据),接收时连续读取三次,然后把读出的3个字节合并为一个32位数据,然后再右移4位,这样应该可以,我最近也在用这个芯片,看了一下数据手册,打算这样应用。
- 如果继续使用硬件SPI,可以读三个8位的数据,在通过代码讲多余的位处理掉
- 使用软件代码模拟SPI协议,自定义读取的位数