Image
Image

自动化陈稳

+ 关注

粉丝 1     |     主题 106     |     回帖 1380

ST32之SPI与W25Qxx实验-1
2021-3-31 23:25
  • ST MCU
  • 19
  • 688
  指令是06H。 //SPI_FLASH写使能 //将WEL置位 void SPI_FLASH_Write_Enable(void) { SPI_FLASH_CS=0; ...  
  5)SPI_Flash写使能  
  先发指令01H,接着写要写入的字节。 //写SPI_FLASH状态寄存器 //只有SPR,TB,BP2,BP1,BP0(bit 7,5,4,3,2)可 ...  
  4)写状态寄存器  
  3) 读ID函数  
  2)读取状态寄存器 //读取SPI_FLASH的状态寄存器 //BIT7 6 5 4 3 2 1 0 //SPR RV TB BP2 B ...  
  2)底层函数驱动 1)//初始化SPI FLASH的IO口 void W25QXX_Init(void) { GPIO_InitTypeDef GPIO_InitS ...  
  /片选线定义 #define SPI_FLASH_CS PBout(12) //选中FLASH,电路上片选线接PB12。  
  对于不同容量的芯片读出的ID定义 //W25X系列/Q系列芯片列表 //W25Q80 ID 0XEF13 //W25Q16 ID 0XEF14 / ...  
  //指令表 #define W25X_WriteEnable 0x06 #define W25X_WriteDisable 0x04 #define W25X_ReadStatusReg 0 ...  
  里面有很多指令。 flash.h头文件中定义了一些指令,对应芯片手册中的指令。 ...  
  1)W25Q64芯片的操作  
  给W25Q64开辟一个4k的缓存,比如定义一个4k的数组,然后在写数据之前先判断如果这个地址上的数据不是0xFF, ...  
  在往某个地址写之前必须确保这个地址上的值是0xFF,否则说明这个地址以前被写过数据,还没有被擦除。W25Q64 ...  
  ......  
  2 SPI flash W25Qxx的操作 W25Q64 将 8M 的容量分为 128 个块(Block),每个块大小为 64K 字节,每 ...  
  3)SPIx 读写一个字节 //TxData:要写入的字节 //返回值:读取到的字节 u8 SPI2_ReadWriteByte(u8 TxData) { ...  
ST32之SPI与W25Qxx实验-2
2021-3-31 23:35
  • ST MCU
  • 16
  • 719
  时序: 先写指令20H,然后要擦除哪个Sector就要写这个地址(24位),  
  8) 擦除一个扇区 指令 0x20H  
  7)读取ID //读取芯片ID W25X16的ID:0XEF14 u16 SPI_Flash_ReadID(void) { u16 Temp = 0; SPI_FLASH_CS= ...  
2
3
近期访客