研究程序发现在通过SSI访问串行Flash的时候,比如我发送读的命令时
过程如下:
// Send the instruction byte and receive a dummy byte to pace the transaction.
SSIDataPut(SFLASH_SSI_BASE, ucInstruction);
SSIDataGet(SFLASH_SSI_BASE, &ulDummy);
// Send any optional bytes.
for(ulLoop = 0; ulLoop < (unsigned long)usLen; ulLoop++)
{
SSIDataPut(SFLASH_SSI_BASE, ucData[ulLoop]);
SSIDataGet(SFLASH_SSI_BASE, &ulDummy);
}
搞不明白 SSIDataGet(SFLASH_SSI_BASE, &ulDummy);是干嘛用的,为什么我写数据的时候也要读一下?
引用: 原帖由 brucege888 于 2011-9-29 09:12 发表 只有执行SSIDataPut(SFLASH_SSI_BASE, ucData)写操作的时候,SPI的CLK引脚才会产生脉冲信号,进而输出数据通过SPI的TX引脚送给FLASH。但是在SPI的CLK引脚产生脉冲信号的同时,不管你的FLASH的输出引脚是否有数据,MC ...
有道理。
引用: brucege888 发表于 2011-9-29 09:12
只有执行SSIDataPut(SFLASH_SSI_BASE, ucData)写操作的时候,SPI的CLK引脚才会产生脉冲信号,进而输出数据 ...