本帖最后由 jorry 于 2017-4-20 22:39 编辑
采用原子的代码,板子为硬件电路和原子该部分电路一样,但无法读出数据,单步提示图,调用代码如下#ifdef USING_FLASHDEVICE
const u8 TEXT_Buffer[]={"Explorer STM32F1 SPI TEST"};
#define SIZE sizeof(TEXT_Buffer)
u32 FLASH_SIZE=16*1024*1024; //FLASH ′óD¡Îa16×Ö½ú
u8 datatemp[SIZE];
#endif
#ifdef USING_FLASHDEVICE SPI_Flash_Init(); //SPI FLASH 3õê¼»ˉ
while(SPI_Flash_ReadID()!=W25Q128) //¼ì2a2»μ½W25Q128 ¿éòÔ¼ì2aμ½
{
USART1_Printfstr("Please Check!
");
delay_ms(100);
}
SPI_Flash_Write((u8*)TEXT_Buffer,FLASH_SIZE-100,SIZE); //′óμ1êyμú100¸öμØÖ·′|¿aê¼,D′èëSIZE3¤¶èμÄêy¾Y
delay_ms(100);
#endif
读取代码如下
#ifdef USING_FLASHDEVICE
SPI_Flash_Read(datatemp,FLASH_SIZE-100,SIZE); //′óμ1êyμú100¸öμØÖ·′|¿aê¼,¶á3öSIZE¸ö×Ö½ú
delay_ms(100);
sprintf(temp,"%s
",datatemp);
USART1_Printfstr(temp);
#endif
找不出问题,硬件经测量和原子电路一样,供电都为3.3V,请指导帮助!谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
请问原子哥,由于电路这部分采用的您的电路,所以代码移植是移植的您的代码,没找到不同点,现在去掉 SPI_Flash_Write((u8*)TEXT_Buffer,FLASH_SIZE-100,SIZE); 可一直读出0xFF,加上读不出任何数据,经示波器查看cs,mosi都在读的时候有跳变沿,miso却一直为低,sck却一直为高,请问我该如何调试这个spi时序,谢谢
一周热门 更多>