This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

code explaination

Hi can anyone tell me the basics of what this code is doing? I know it is writing to eeprom but is it writing a byte at a time and incrimenting the address?

EECSN is the eeprom pin.


#define EE_WRSR     0x01
#define EE_WRITE    0x02
#define EE_READ     0x03
#define EE_WRDI     0x04
#define EE_RDSR     0x05
#define EE_WREN     0x06

void EEWrite(unsigned int addr, unsigned char b)
{
    while((EEStatus() & 0x01) != 0x00)      // Wait if busy
        ;
    EECSN = 0;
    SPI_ReadWrite(EE_WREN);
    EECSN = 1;
    EECSN = 0;
    SPI_ReadWrite(EE_WRITE);
    SPI_ReadWrite(addr >> 8);
    SPI_ReadWrite(addr & 0xff);
    SPI_ReadWrite(b);
    EECSN = 1;

}

thank you all.

Parents
  • "I know it is writing to eeprom but is it writing a byte at a time and incrimenting the address?"

    Yes, one byte. The EEPROM's internal address may increment (check its data sheet), but there isn't anything in the code snippet that increments the address local to the function or through a reference to a caller's address object.

Reply
  • "I know it is writing to eeprom but is it writing a byte at a time and incrimenting the address?"

    Yes, one byte. The EEPROM's internal address may increment (check its data sheet), but there isn't anything in the code snippet that increments the address local to the function or through a reference to a caller's address object.

Children