Gast
#1061513
Hallo, hat sich schonmal jemand mit dem Befehl aus dem HAL "write_program_memory(adresse,quelle,anzahl) auseinander gesetzt? Ich habe gestern mit einem 18F4680 (65kb Flash) damit herumgespielt und den Flash Speicher zurückgelesen ob er richtig arbeitet. Was der Befehl kann: Er schreibt an jede beliebige gerade und ungerade Adresse einen bis zu 256 Bytes langen Satz Daten ins Flash. Was ich noch nicht verstehe ist folgendes: -Das Flash ist doch 16 Bit organisiert beim 18F4680, also kann ein Zugriff imer nur 16 Bit lesen, oder? Ist es so? 0x0000 = 0x1234 0x0001 = 0x2345 oder so: 0x0000 = 0x1234 0x0002 = 0x5678 -Das Flash ist 64 Bytes schreibar und löschbar, es kann immer nur an einer Blockgrenze angefangen werden und immer nur 64 Bytes auf einmmal. -Das Flash muss vor dem Beschreiben gelöscht werden. Wie schafft diese Funktion also das was sie kann? Ich bin da wirklich erstaunt? Gruss, Christian