Gast
#664823
Hi, irgendwie stehe ich gerade etwas auf dem schlauch..... möchte gerne auf eine adresse abprüfen aber bekomme es nicht hin...
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
Vielen Dank schon mal
|
Anzeige
|
C - Pointer - IAR
Gast
#664823
Hi, irgendwie stehe ich gerade etwas auf dem schlauch..... möchte gerne auf eine adresse abprüfen aber bekomme es nicht hin...
Vielen Dank schon mal if(address == *0x08)
Lass mal den Stern weg und caste den Wert nach (void *)
if (address == (void *) 0x08)
Ich nehme zumindest an, daß Du überprüfen möchtest, ob "address" den
Wert 8 enthält.
Gast
#664835
das ganze ist für die programmierung des eeprom und ich möchte das beim durchlauf gewisse register nicht überschrieben werden. möchte also überprüfen ob die adrresse = 8 ist.
Gast
#664871
leider hat es nicht funktioniert "es hat nicht funktioniert" ist nicht wirklich aussagekräftig.
Gast
#664896
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:
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. >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.
Gast
#666204
Mache ich das so, bekomme ich den folgenden Fehler
Error[Pe042]: operand types are incompatible ("unsigned char __flash *"
and "int") C:\.....\loader.c 302
Gast
#666257
Niemand eine Idee? Vielen Vielen Dank schon mal im vorraus... :-) habe den fehler gefunden.... muss so heißen:
Vielen Dank.... Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|