Hallo Leute Ich beschäftige mich seit letzter Woche intensiv mit Mikrokontrollern. Es war mir bereits möglich, die Kontroller zu benutzen, indem ich einen Taster verschiedene Ausgänge steuern kann. Darüber war ich sehr stolz! Mit Timer-Funktion harhar! Jetzt habe ich ein Problem, ich habe mir 3 schöne neue Attiny13 disabled. Das Problem liegt daran, dass er irgend etwas gefragt hat, wegen DebugWire ich halt jaja machen wir mal. Danach 2x nichts mehr gegangen. Heute habe ich herausgefunden, beim dritten Kontroller, dass es am Reset liegt, der abgeschalten wurde. So jetzt meine Frage: Wie kann ich diesen Reset wieder aktivieren? Zusatzfrage: ich habe jetzt mal den Taster auf einen Eingang geschalten und zwar mit einem 1kOhm über GND, ist das eine gute Lösung? Meine Ausrüstung: Programmierung über AVR-Dragon Kontroller: ATTINY13 Danke für die Antwort. Gruss Fox
>Wie kann ich diesen Reset wieder aktivieren? Das ist nur durch High-Voltage-Programmierung möglich. >ich habe jetzt mal den Taster auf einen Eingang geschalten >und zwar mit einem 1kOhm über GND, ist das eine gute Lösung? Wie hast Du ihn den vorher angeschlossen? Einen Taster kannst Du direkt zwischen einen Eingangspin und Masse anschließen. Controller-internen Pullup aktivieren - fertig. Ein Widerstand in Serie zum Taster ist unnötig.
Hallo, Danke für die schnelle Antwort. Wie kann ich das High-Voltage-Programmierung machen? Die ISP war einfach, da hatte ich alles Bezeichnungen im Datasheet gefunden (MISO,MOSI etc.). Wie kann ich den Internen Pull-UP Aktivieren? Habe das mal so gemacht:
1 | #include <avr/io.h> |
2 | |
3 | int main (void) { |
4 | |
5 | DDRB = 0b00110111; // Pin 3 = Eingang |
6 | PORTB = 0b00101111; // Pin 4 = LOW |
7 | |
8 | |
9 | while(1) { |
10 | |
11 | if ( !(PINB & (1<<PINB3)) ){ |
12 | |
13 | PORTB |= (1<<PB4); |
14 | }
|
15 | |
16 | else { |
17 | PORTB &= ~(1<<PB4); //Pin 4 Einschalten |
18 | }
|
19 | |
20 | }
|
21 | |
22 | return 0; |
23 | }
|
Hallo So habe mal HVSP probiert. Konnte die Daten lesen, respektive die Fuses. Konnte aber nicht schreiben, das liegt an dem Serial Clock Input nehme ich mal an. da habe ich kein Kabel oder so was. Was muss ich machen?
> Was muss ich machen? Du könntest Dir z.B. im AVR-Studio (das ist das Programm, für das der Dragon gebaut wurde) die Hilfedatei bzw. Dokumentation zum Dragon anschaun... Du könntest z.B. den Experimentierteil des Dragon bestücken (Stiftleiste 2x20, IC-Fassung 28-polig schmal und 40-polig breit oder gleich Textool-40 mit breiten Schlitzen) und könntest dann mit wenigen Strippen laut Dragon-Dokumentation (AVR-Studio-Hilfe) den Tiny13 mit dem HV-Brenner des Dragon verbinden... Vielleicht hast Du aber nur den Debug-Wire-Mode aktiviert. Dann reicht es, wenn Du nochmal den Debugger startest und im Debugger den Debug-Mode des AVRs wieder deaktivierst, dann ist der AVR wieder per ISP ansprechbar. Im Übrigen solltest Du Dir angewöhnen, Meldungen nicht einfach wegzuklicken, sondern sie zu lesen und versuchen zu verstehen. ...
Hallo! Die Programmierung mache ich mit dem AVR-Studio. Bei der Meldung hatte ich ja keine Ahnung was das DebugWire macht, von dem her konnte ich es nur ausprobieren. Wie muss ich das HVSP korrekt anschliessen? ISP war einfach. HV eigentlich auch.... Siehe Bild. Den Restet habe ich nicht angeschlossen, muss ich das auch noch machen? Dieser geht danach aber auf 12V dem traue ich nicht so recht.
>Den Restet habe ich nicht angeschlossen, muss ich das auch >noch machen? Ja, und wie Du das musst. >Dieser geht danach aber auf 12V dem traue ich nicht so recht. Deine Sorge ist unbegründet; die 12 V am Reset-Pin sind eben die Besonderheit am HV-Programmiermodus und sie werden dem Pin garantiert keinen Schaden zufügen. Viel Erfolg :-)
Ich gebe es auf. es hat keinen Sinn. Es passiert gar nix und ich habe das Gefühl, das Dragon krazt gleich ab. Ich lass es sein. 8€ im Sand egal. Haupsache etwas gelernt und nie wieder Disable des Reset...
>Ich gebe es auf. es hat keinen Sinn. Blödsinn. >Es passiert gar nix Was hast Du denn gemacht? Eine genaue Beschreibung erhöht die Chance, Dir helfen zu können, sehr. Was geschieht, wenn Du den Programmierdialog im AVRStudio aufrufst und das Flashen startest? Erscheint eine Fehlermeldung? Wenn ja, welche? >und ich habe das Gefühl, das Dragon krazt gleich ab. Wieso das denn? >Ich lass es sein. 8€ im Sand egal. Haupsache etwas gelernt und nie wieder >Disable des Reset... Du Knaller, Dein Hilferuf mit dem ungewollt disableten Resetpin taucht in diesem Forum mit schöner Regelmäßigkeit alle paar Wochen auf. Die meisten Unglücklichen haben aber nur ein einfaches Experimentierboard mit ISP. Die stehn dann wirklich dumm mit ihrem verfusten AVR da. Du dagegen hast nen Programmer, der die HV-Programmierung beherrscht. Du kannst Dein Missgeschick wieder geradebiegen. Also jammer nicht so einen Schmarrn hier rum sondern beiß Dich durch. Steh auf und kämpf wie ein Mann! ;-)) Wenns Du geschafft hast, den µC wiederzubeleben, dann hast Du was gelernt.
Fox wrote: > Ich gebe es auf. es hat keinen Sinn. Es passiert gar nix und ich habe > das Gefühl, das Dragon krazt gleich ab. Ich lass es sein. 8€ im Sand > egal. Haupsache etwas gelernt und nie wieder Disable des Reset... Quatsch. Du hast nun gutes Wekkzeug, lerne es zu benutzen. Die Gebrauchsanweisung dazu liegt bereits auf Deiner Festplatte. Einfach mal im AVR-Studio auf "Help" klicken... ...
Danke für die Antwort und den Mut.
Also: ISP Funktioniert einwandfrei. Habe ich angeschlossen über das ISP
Kabel.
DEN HVSP: habe ich wie folgt beschalten (siehe Bild).
> AVR kratzt fast ab
Das Problem ist, dass ich keine Verbindung so aufbauen kann, auch kann
ich danach nicht mehr auf ISP umschalten. Das Dragon macht gar nichts
mehr. Dann hilft nur noch ausstecken und wieder einstecken.
Gruss Fox
habe ich vergessen: Das Dragon schaltet sich auch bei der externen Stromversorgung ein, also ohne USB-Kabel. Respektive die LEDs fangen an zu leuchten. Wenn ich danach Flashen möchte, oder Fuses setzte, dann kommt die Meldung keine Verbindung etc. Überprüfen Sie das 5V am Controller anliegt etc.
> 8€ im Sand egal.
Oh, bei uns kosten die 80 cent pro Stück in DIP.
Trotzdem würde ich die wieder fit machen, und sei es nur um was zu
lernen.
Wahrscheinlich liegt es nur an irgendeinem winzigen Detail.
Was ist mit der roten Verbindung "A" in dem Plan, den Hannes gepostet
hat (siehe oben)? Hast Du die gesetzt? Wenn nicht, würde das verdammt
gut zu dieser Meldung...
>Überprüfen Sie das 5V am Controller anliegt etc.
...passen.
Das mit dem A check ich nicht, denn ich bringe ja schon 5V auf den HV_PROG Pin. Macht für mich keinen Sinn, dass ich dort auch nochmals 5V draufschalten muss, vorallem ist es ja nicht bei der HV_PROG-Prints.
Ich würds trotzdem auf einen Versuch ankommen lassen. Wenns daran lang und Dein ATtiny13 wieder flott ist, kannst Du die Sinnfrage dann immer noch stellen.
so habe es probiert: Ergebnis, ich konnte fuses lesen, chip löschen (hat es angezeigt, aber nicht gemacht haha). Konnte sogar das Programm in das Flash schreiben, funktionierte aber danach trozdem nicht. Fehler beim schreiben der Fuses siehe Bild.
Fox wrote: > Ergebnis, ich konnte fuses lesen, chip löschen Das Du Lese- und Erase-Befehle abschicken kannst, bedeutet nicht im geringsten, daß der AVR es auch getan hat. Die Software schickt nur die entsprechenden Kommandos, ob das Gelesene sinnvoll ist, kann sie ja nicht wissen. Was Du lesen kannst, ist der Devicecode, der muß stimmen. Wenn der schon nicht stimmt, ist jede andere Aktion Mumpitz. Peter
OK, was könnte dann das Problem noch sein? Vielleicht könnte mir mal jemand sagen, wie ich den AVR korrekt beschalten muss mit dem Dragon? Stimmt meine Ausführung nach dem letzten Schema? Danach habe ich im AVR-Config in Main auf PP/HVSP mode gwechselt. Es hat ja soweit geklappt, also liegt es daran, dass das Signal vom AVR nicht verarbeitet worden ist?
Ich komme auch beim Bild von Hannes Lux nicht draus, was das A,B,C etc. soll. Nach Datenblatt brauche ich doch gar nicht so viele Drähte...
> beim Bild von Hannes Lux Das ist kein Bild von mir, sondern von ATMEL. Es ist ein Schnappschuss aus der Hilfe zum AVR-Studio. Es ist auch auf Deinem Rechner vorhanden, Du musst nur mal das Help-Menü öffnen. Das Bild symbolisiert den Prototypen-Bereich des Dragon, den man sich sinnvollerweise mit zwei IC-Fassungen (28-polig und 40-polig) und einer 40-poligen Stiftleiste nachrüstet, um dort AVRs programmieren und debuggen zu können. Natürlich braucht man dann auch ein paar Strippen mit entsprechenden Steckverbindern. Beim Ein/Ausschalten des Debug-Wire-Modus muss der AVR kurz von der Betriebsspannung getrennt werden (das sagt auch die Meldung, die Du mal schnell weggeklickt hast). Auch die Leitung zwischen Plus (Dragon-Stromversorgungspins) und ISP muss dabei kurz getrennt werden. Ich habe mir dazu einen Schalter an das ISP-Kabel angebaut, das erleichtert das Handling etwas. Der Dragon misst über einen (vermutlich ADC-) Eingang die Betriebsspannung des Targets. Wenn Du ihn vom USB trennst, aber eine extern versorgte AVR-Schaltung angeschlossen hast, dann versorgt sich der Dragon-Controller über die Schutzdiode dieses Messpins. Das ist nicht gut für ihn, damit könntest Du ihn wirklich killen. Eine weitere Gefahr besteht darin, dass man durch Berühren von Bauteilen/Leiterzügen den Spannungsregler dazu bringen kann, eine zu hohe Spannung zu erzeugen, die dann den Dragon killt. Du solltest also in eingeschaltetem Zustand nicht unnötig daran herumgrabschen. ...
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.