Forum: Mikrocontroller und Digitale Elektronik Mal wieder Pointer - zum Schreiben ins Flash


von Sven (Gast)


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?

von Sven (Gast)


Lesenswert?

Was bedeutet überhaupt dieses
1
(char *) ...
Das ist ja kein cast, oder?

von reverse (Gast)


Lesenswert?

sicher kann ichs dir auch nicht sagen, aber hier mal zwei links

http://www.mikrocontroller.net/articles/Zeiger
http://de.wikibooks.org/wiki/C-Programmierung:_Zeiger

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.