Hallo Leute, ich habe in Sachen Mikrocontroller durch mein Praxissemester etwas Erfahrungen gesammelt, aber diese mit PICS. Nun beschäftige ich mich mit AVR und hatte vor kurzem ein Problem. Dabei ging es darum, dass ich einmal programmieren konnte und beim zweiten mal nicht mehr. Durch diese Seite habe ich den Tipp erhalten an den MCLR ein Pull down Widerstand anzubringen, damit der Clock nicht weiterlaufen kann und somit der Flash gelöscht werden kann. Dadurch konnte ich dieses Problem beheben, doch wenn ich wieder programmiere, kann wieder nicht ein zweites mal programmieren. Das mit dem Pull down Widerstand ist zwar sehr hilfreich, aber trotzdem ist es ja ziemlich umständlich jedes mal den Flash zu löschen und neu zu programmieren. Daher meine Frage, ob vllt mein ISP frequency nicht richtig ist oder so. Ich hoffe, dass mir jemand helfen kann. Gruß Paarthurnax
Paarthurnax schrieb: > aber trotzdem ist es ja ziemlich umständlich jedes mal den Flash zu > löschen und neu zu programmieren Wenn du den Flash vor jedem Programmieren nicht Löschen willst, passsieren komische Sachen. Ein gelöschtes EEPROM und somit auch ein Flashspeicher enthält 0xFF an jeder Speicherstelle. Nicht Programmierte Bits sind "1"; Programmierte Bits sind "0". Man kann nur "auf 0 programmieren" und generell nur "auf 1" löschen. Einzelne Bits lassen sich nicht "von 0 auf 1 umbiegen". Ein Beispiel: Vorher gelöscht und was neues rein geflasht: Vorher 0xFF = 0b11111111 Programmiert 0x12 = 0b00010010 Ergebnis 0x12 = 0b00010010 => OK Nicht gelöscht, sondern gleich was drübergebügelt: Vorher 0x12 = 0b00010010 Neues Programm 0x43 = 0b01000011 Ergebnis 0x02 = 0b00000010 => Nicht OK Darum empfiehlt sich ein "erase" vorm flashen und ein "verify" danach. "Kluge" Programmiertools lassen sich konfigurieren, diese Aktionen automatisch durchzuführen oder lassen sich z.B. mit einem batch- oder shell-Script oder mit make bedienen, um das zu automatisieren. mfg mf
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.