C - Pointer - IAR

Gast #664823
Lesenswert?
• ▲
▼
Hi,

irgendwie stehe ich gerade etwas auf dem schlauch.....
möchte gerne auf eine adresse abprüfen aber bekomme es nicht hin...
1
unsigned char APPFLASH *address;
2

3
....
4

5

6
do
7
{
8
    __watchdog_reset();
9
    address++;
10
    if(address == *0x08)
11
    {......

Vielen Dank schon mal
Gast #664896
Lesenswert?
• ▲
▼
Entschuldige, :-)

ich kann leider nciht sehr viel mehr dazu sagen, da ich keine 
möglichkeit zum debuggen habe.

villeicht nochmals ein wenig ausführlicherer programmausschnit:
1
unsigned char APPFLASH *address;
2

3
....
4

5

6
do
7
{
8
  __watchdog_reset();
9
  address++;
10
  if(address == (void *) 0x08)
11
  {
12
  //nichts tun (Speicherplatz der Seriennummer)
13
  }
14
  else
15
  {
16
  spmEEWriteByte((unsigned long)address & 0xffff, *p++);
17
  }
18
}
19
while....

Das ist ein bootloader mit welchem ich unter anderem das eeprom 
"flashe", nur an gewissen stellen sollen eben die informationen nicht 
überschrieben werden, weil dort presets gespeichert sind.
#664963
Lesenswert?
• ▲
▼
>spmEEWriteByte((unsigned long)address & 0xffff, *p++);

adress ist doch gar kein Pointer, oder die Funktion ist auch 
unfunktionsfähig.
Du musst dich schon entscheiden, ob du einen Pointer oder eine Variable 
benutzen willst.

>(unsigned long)address & 0xffff
                          ^^^^^^ kannst du dir sparen.

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