1,求助啊SPI读取W25Q64问题

正解,为了读取而发送的空字节。 因为spi一次只能输出一个字节(8bit)的数据,而w25q64内部空间的寻址需要3个字节,所以分三次发送三个字节的地址了。比如要寻址0x123456的数据的话,第一次就是发送的0x12,第二次是0x34,第三次就是0x56.

求助啊SPI读取W25Q64问题

2,硬件SPI的数据移位寄存器是8位的可以操作象AD7705这样的16位设备

SPI是同步总线,主机不发CLK的时候,从机是在等待状态,片选CS是用于分割每个数据帧的,所以只要CS在使能状态,你发多少次,从机都当一个命令来处理。对AVR来说,SPI的寄存器是8bit的,你把16bit分开2次发就可以了(注意两次之间CS保持使能状态不要动)。有的单片机支持16bit的SPI传送,只是说效率稍微高一点罢了,跟8bit的没有本质区别。

硬件SPI的数据移位寄存器是8位的可以操作象AD7705这样的16位设备

3,关于SPI能不能输出16位数据给芯片

你的意思是这里发出的数据是24位的,使用16位的SPI接口不好接收? 1、我记得DSP里面的SPI是可以选择接收的位数的,具体是哪个寄存器我就不知道了,你可以先查查资料,改变一下接收位数; 2、如果不能实现,如果前端数据能改变的话,那就先在前端把数据处理一下,如2个24位的变成3个16位的发过来再进行转换; 3、还不行的话,你就使用DSP的IO口模拟SPI总线来接收吧,这个肯定没问题。 4、实在都不行的话,换方案吧。

关于SPI能不能输出16位数据给芯片


文章TAG:spi多少位输出多少  位输出  输出  
下一篇