Eepm95640_WritePage()函数
时间: 2024-04-30 19:19:26 浏览: 14
Eepm95640_WritePage()函数是用于向EEPROM存储器中写入一页数据的函数。EEPROM是一种可编程的非易失性存储器,可以用于存储数据,而且不需要外部电源来保持数据内容。Eepm95640_WritePage()函数的输入参数包括要写入的页地址、要写入的数据缓冲区指针和要写入的数据长度。函数内部实现了将数据写入EEPROM存储器的操作,并返回写入操作的结果。如果写入成功,则返回0;否则返回非0值。下面是一个示例代码:
```
uint8_t Eepm95640_WritePage(uint16_t pageAddr, uint8_t *data, uint16_t len)
{
uint8_t cmdBuf[3];
uint16_t i;
// 1. 发送写使能命令
cmdBuf[0] = CMD_WREN;
if (SpiMaster_Write(cmdBuf, 1) != 0) {
return -1; // 写使能失败
}
// 2. 发送写命令和地址
cmdBuf[0] = CMD_WRITE;
cmdBuf[1] = (pageAddr >> 8) & 0xFF;
cmdBuf[2] = pageAddr & 0xFF;
if (SpiMaster_Write(cmdBuf, 3) != 0) {
return -2; // 写命令和地址失败
}
// 3. 写入数据
for (i = 0; i < len; i++) {
if (SpiMaster_Write(&data[i], 1) != 0) {
return -3; // 写数据失败
}
}
// 4. 等待写完成
while (Eepm95640_IsWriteBusy() == 1) {
// 等待写完成
}
return 0;
}
```
其中,SpiMaster_Write()函数是用于向SPI总线发送数据的函数,CMD_WREN是写使能命令,CMD_WRITE是写命令。函数中通过调用Eepm95640_IsWriteBusy()函数来等待写操作完成。