Mal wieder Pointer - zum Schreiben ins Flash

Gast #2644937
Lesenswert?

Die Pointer....:-(

Ich möchte ins Flash schreiben (MSP430F2013) - ich habe da nur eine 
Frage zum Quelltext aus dem Code-Examples:
1
void write_SegC (char value)
2
{
3
  char *Flash_ptr;                          // Flash pointer
4
  unsigned int i;
5

6
  Flash_ptr = (char *) 0x1040;              // Initialize Flash pointer
7
  FCTL1 = FWKEY + ERASE;                    // Set Erase bit
8
  FCTL3 = FWKEY;                            // Clear Lock bit
9
  *Flash_ptr = 0;                           // Dummy write to erase Flash segment
10

11
  FCTL1 = FWKEY + WRT;                      // Set WRT bit for write operation
12

13
  for (i=0; i<64; i++)
14
  {
15
    *Flash_ptr++ = value;                   // Write value to flash
16
  }
17

18
  FCTL1 = FWKEY;                            // Clear WRT bit
19
  FCTL3 = FWKEY + LOCK;                     // Set LOCK bit
20
}

Es geht um die Zeile
1
Flash_ptr = (char *) 0x1040;              // Initialize Flash pointer
Was genau bedeutet das? der Pointer ist ein char, bekommt aber eine 
16Bit-Adresse.

Wieso ist das so?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren