Hey, ich habe es gerade geschafft meinen ATTiny13 mit nem Raspberry Pi als Programmer zum Blinken zu bekommen. Jetzt stellen sich mir aber 2 Fragen: a) Zum Blinken benutze ich momentan Pin 5. Dieser wird aber auch für die SPI-Kommunikation mit dem PI benötigt. Wenn ich jetzt also meinen µController programmiert habe, sollte doch immer wechselnd eine Spannung an MOSI angelegt werden. Ist das schlecht für den Pi? Kann man ihn damit ausversehen zerstören? Schließlich kann ich ja nicht verhindern, dass kurz nach der Programmierung das Programm gleich anfängt zu laufen. b) Im Datenblatt steht, dass Pin1 (=Reset) auch alternative Funktionen hat. Wie kann das sein? Schließlich wird das Programm doch sofort unterbrochen, sobald GND an Pin 1 anliegt. Grüße
avrdude schrieb: > b) Im Datenblatt steht, dass Pin1 (=Reset) auch alternative Funktionen > hat. Wie kann das sein? Schließlich wird das Programm doch sofort > unterbrochen, sobald GND an Pin 1 anliegt. Der reset wird auch ausgelöst, wenn das Programm einen Sprung nach (meistens) NULL vornimmt, oder wenn die Versorgungsspannung einen bestimmten Schwellwert für eine bestimmte Mindestdauer unterschreitet. Robert
Du kannst eine Fuse setzen, um den Pin 1 als normalen I/O Pin zu verwneden. Aber danach hast du keinen Reset Pin mehr, und daher auch kein ISP Interface mehr. Bedenke das! Die I/O Pins des Raspberry Pi solltest du nicht kurzschließen. Schalte wenigstens einen 220 Ohm Widerstand in Reihe, um den Raspberry zu schützen. Allerdings muss dann wohl auch die LED zum Programmieren abgeklemmt werden. Man könnte einen Widerstand wechselweise für beide Zwecke verwenden:
1 | Jumper |
2 | o--------------o Raspi MOSI |
3 | AVR MOSI o-----[===]---o |
4 | 220 Ohm o----|>|----| GND |
5 | LED |
R. F. schrieb: > avrdude schrieb: >> b) Im Datenblatt steht, dass Pin1 (=Reset) auch alternative Funktionen >> hat. Wie kann das sein? Schließlich wird das Programm doch sofort >> unterbrochen, sobald GND an Pin 1 anliegt. > > Der reset wird auch ausgelöst, wenn das Programm einen Sprung nach > (meistens) NULL vornimmt, Das stimmt nicht. Wie kommst du darauf? Du kannst im Programm rumspringen wie du lustig bist, auch nach PC=0, da wird kein Reset ausgelöst. Reset wird durch (und nur durch) folgende Dinge ausgelöst: - Externer Reset Pin - POR - Brownout - Watchdog
Und um die 2. Frage auch zu beantworten, ja, den Reset-Pin kannst Du auch anderweitig belegen, indem Du die Fuses des Chips entsprechend setzt dass der Reset Pin keinen Reset mehr macht. Dies solltest Du definitiv NUR UND AUSSCHLIESSLICH tun wenn Du absolut GENAU WEISST WAS DU TUST. Sonst kannst Du sehr wahrscheinlich den Chip nicht mehr programmieren, weil zum Programmieren über SPI der Reset "gehalten" werden muss. Geht kein Reset, geht kein Programmieren. Anders gesagt: Tu's vorläufig nicht. Ignoriere einfach dass der Reset Pin auch andere Dinge kann, Du hast hinreichend andere Pins zur Verfügung die alle ganz prima I/O können. :)
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.