初级会员

- 积分
- 56
- 金钱
- 56
- 注册时间
- 2014-3-25
- 在线时间
- 23 小时
|
1金钱
我参考了别人的程序,整理了一下, 但是,就芯片擦除,实现不了, 不知道好像有一次是实现了,之后就不行了,芯片是可以读操作的。想问下25Q16有没有写保护, 清除保护之类的标志位,需要操作的吗
void W25X_Erase_Block(uint32_t nDest)
{
nDest *= FLASH_BLOCK_SIZE;
FLASH_CS_0();
W25X_Wait_Busy();
W25X_Write_Enable();
FLASH_CS_0();
SPIWriteByte(W25X_BlockErase);
SPIWriteByte((u8)((nDest & 0xFFFFFF) >> 16));
SPIWriteByte((u8)((nDest & 0xFFFF) >> 8));
SPIWriteByte((u8)nDest & 0xFF);
FLASH_CS_1();
W25X_Wait_Busy();
}
void W25X_Erase_Chip(void)
{
FLASH_CS_0();
W25X_Write_Enable();
FLASH_CS_0();
W25X_Wait_Busy();
FLASH_CS_0();
SPIWriteByte(W25X_ChipErase);
FLASH_CS_1();
W25X_Wait_Busy();
}
为什么我调用这个函数,时候,不能清除FLASH的数据,
|
|