Hallo Zusammen Mit der nachfolgenden Funktion kann man den internen Flash beschreiben aber nur mit INT Daten 0x00000000, ich möchte aber CHAR Daten 0x00 schreiben. Ich habe auch schon versucht in der Funktion die Daten als char zu def., geht auch nicht. NVMWriteWord_((void*)(NVM_PROGRAM_PAGE + BgEeAdr+4), 0xEF); unsigned int NVMWriteWord_(void* address, unsigned char data) Mir würde aber auch helfen wenn mir jemand sagen kann wie ich 8 char Daten in ein INT wandeln kann. z.B. 0xAA; 0xBB; 0xCC; 0xDD in 0xAABBCCDD Bitte. Danke. Lg. Johann K.
Klatec schrieb: > Mir würde aber auch helfen wenn mir jemand sagen kann wie ich 8 char > Daten > in ein INT wandeln kann. falls Dein 'unsigned int' auch wirklich 32 Bit breit ist,
1 | result = (unsigned int)(aa<<24) | (unsigned int)(bb<<16) | (unsigned int)(cc<<8) | (unsigned int)dd; |
mfg
Klatec schrieb: > Mir würde aber auch helfen wenn mir jemand sagen kann wie ich 8 char > Daten > in ein INT wandeln kann. > > > z.B. 0xAA; 0xBB; 0xCC; 0xDD in 0xAABBCCDD Das sind vier, nicht acht. Und mehr passen in einen 32-Bit-Wert auch nicht 'rein.
Was baust Du eigentlich? Boot loader? EEPROM-Emulation im Flash? Partielles Flashen? Das geht selbst im Zusammenhang mit Beitrag "PIC32 Speicher im Memoryfenster beobachten" nicht hervor. Woher kommen NVMWriteWord_() bzw. NVMWriteWord(), und welcher Compiler ist im Einsatz?
Hallo Roland Die Funktion stammt aus einem Beispiel von Microchip siehe (32-bit-Peripheral-Library-Guide.pdf), diesen Compiler ver ende ich. mplabc32_v2_02a_windows_installer @ Rufus Τ ist natürlich klar das es nur 4 Byte sind. Lg. Johann K.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.