金牌会员
 
- 积分
- 1046
- 金钱
- 1046
- 注册时间
- 2017-5-19
- 在线时间
- 335 小时
|
发表于 2018-1-23 10:04:43
|
显示全部楼层
[mw_shl_code=c,true]//SPI在一页(0~65535)内写入少于256个字节的数据
//在指定地址开始写入最大256字节的数据
//pBuffer:数据存储区
//WriteAddr:开始写入的地址(24bit)
//NumByteToWrite:要写入的字节数(最大256),该数不应该超过该页的剩余字节数!!!
void SPI_Flash_Write_Page(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite)
{
u16 i;
SPI_FLASH_Write_Enable(); //SET WEL
SPI_FLASH_CS=0; //使能器件
SPI2_ReadWriteByte(W25X_PageProgram); //发送写页命令
SPI2_ReadWriteByte((u8)((WriteAddr)>>16)); //发送24bit地址
SPI2_ReadWriteByte((u8)((WriteAddr)>>8));
SPI2_ReadWriteByte((u8)WriteAddr);
for(i=0;i<NumByteToWrite;i++)SPI2_ReadWriteByte(pBuffer);//循环写数
SPI_FLASH_CS=1; //取消片选
SPI_Flash_Wait_Busy(); //等待写入结束
} [/mw_shl_code] |
|