中级会员
 
- 积分
- 250
- 金钱
- 250
- 注册时间
- 2019-5-11
- 在线时间
- 39 小时
|
10金钱
RT:
原来产品是W25Q64,因为现在很难买到了,更换升级了W25Q128。使用,W25XXX驱动,我已经添加ID获取程序,程序跑通了,读写都是正常的。但是,发现读写明显变慢。看了手册驱动都是兼容的,问下论坛大佬还有什么地方需要改进,可以提高读写速度。原来设计的很多图片都是flash里面这个读写变慢,导致LCD刷屏卡顿。
在线等,有点急。
PS:已经用示波器观察了波形,除了有点变形意外都是正常的。
代码配置 SPI1
SPI_Cmd(SPI1_FLASH,DISABLE); /*-关闭SPI1-*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);/*-IO功能复用时钟开启-*/
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);/*-复用功能SWJ_JTAG关闭-*/
RCC_APB1PeriphClockCmd(SPI1_FLASH_CLK,ENABLE); /*-SPI1时钟开启-*/
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;/*-全双工模式-*/
SPI_InitStructure.SPI_Mode = SPI_Mode_Master; /*-主机模式开启-*/
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; /*-传输数据8位模式-*/
SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; /*-空闲模式下SCK为1 CPOL=1-*/
SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; /*-数据采样从第二个时间边沿开始,CPHA=1 -*/
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; /*-NSS引脚由软件管理-*/
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;/*-速率2分频,72MHz/2=36MHz-*/
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; /*-先传输最高位数据-*/
SPI_InitStructure.SPI_CRCPolynomial = 7; /*-CRC校验多项式值7-*/
SPI_Init(SPI1_FLASH, &SPI_InitStructure); /*-写入配置数据-*/
SPI_Cmd(SPI1_FLASH, ENABLE); /*-启用SPI1-*/
SPI1_SetSpeed(SPI_BaudRatePrescaler_2);//设置为36M时钟,高速模式
SPI_FLASH_TYPE=SPI1_Flash_ReadID();//读取FLASH ID.
|
|