PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ISP-Dongle falsch angeschlossen



Walich
23.04.2007, 16:52
Hallo allerseits

Vor ein paar Tagen hatte ich ein Problem mit meinem ATmega32. Aber der Fehler lag in der Software. Der Link des Threads dazu ist: https://www.roboternetz.de/phpBB2/viewtopic.php?t=29808

Wenn ihr den Thread gelesen habt, dann könnt ihr bestimmt folgern, dass ich aus "AVR-Einstieg leicht gemacht" mit dem Bau von RS232-Kabel begonnen habe.
Tag davor konnte ich die beide Programme "blinkende LED" und "Taster abfragen" problemlos ausführen, aber nachdem ich das RS232-Kabel angeschlossen habe, ging nichts mehr.

Irgendwann stellte ich fest, dass sich in den Optionen von Bascom-AVR die SPI-Pinbelegung verstellt hat.

War:
Clock = PB5
MOSI = PB6
MISO = PB7
Dann habe ich die wieder auf diese Belegung umgestellt. Trotzdem ging nichts mehr.
Soll:
Clock = PB7
MOSI = PB5
MISO = PB6

Habe das AVR-Board und RS232 auf diesem weißen Steckboard wie in Wiki aufgebaut.

Weiß jemand, ob ich mir einen neuen µC bestellen muss oder, ob ich den Alten irgendwie retten kann?

Kann mir vielleicht jemand helfen?

Hubert.G
24.04.2007, 13:00
Ich habe bei meiner experimentiererei auch schon einiges falsch angeschlossen, aber solange du keine Überspannung irgenwo drauf bringst ist es kaum möglich etwas umzubringen. Mir ist es zumindest noch nicht gelungen. Vieleicht hast du dir nur die Fuses verstellt ohne es zu bemerken, probier mal einen externen Takt an XTAL1, oder einen RC-Oszillator, anzulegen und dann neu programmieren.
Hubert

Walich
24.04.2007, 21:38
Danke für die schnelle Antwort.

Aber muss man nicht zuerst die Fuses von Ceramic Crystal auf RC-Oszillator umstellen?!
Oszillatoren habe ich leider nur bis mindestens 20MHz.

Hubert.G
25.04.2007, 12:09
Wenn der µC nichts mehr tut und du nicht mehr lesen und schreiben kannst, besteht die Möglichkeit das sich bei deiner Probiererei die Fuses irgendwie verstellt haben. Du kannst den Takt von einem 555 oder einem anderen µC nehmen.
Hubert

Walich
25.04.2007, 18:42
Ich habe schon mit einem NE555-Timer eine Astabile Kippstufe aufgebaut und das Signal mit einem Oszilloskop gemessen.

Soll ich dieses Signal auf XTAL1 legen?
Wie groß soll die Frequenz sein?(16 MHz !? wie mein Quarz -> geht nur bis 1 MHz)
Wie groß sollen die Teilzeiten sein?(Die Einschaltzeit tv ist nie gleich oder kleiner als die Ausschaltzeit tp)

Hubert.G
25.04.2007, 19:00
Auf XTAL1 legen, natürlich nicht mehr als 5Vss. 1MHz genügt, die Zeiten müssen nicht exakt sein, ungefähr genügt.
Hubert

Walich
26.04.2007, 15:43
Erstmal Danke ich dir Hubert.

Ich habe deinen Rat befolgt und ein Taktsignal von ca. 250 kHz erzeugt. An XTAL1 angelegt und konnte jedes Programm übertragen, das auch funktionierte.
Und das mit den Fuses hattest du auch recht gehabt. Der Fusebit A987 ist auf 0000:Ext clockfast rising power eingestellt.(Andere muss ich im Datenblatt gucken).

Dieses Programm "Taster abfragen" mit Print Anweisung geht super, nur bisschen verzögert. Wegen "wait 1" vermutlich. Wenn ich Rs232 anschließe und den Terminal emulator aufmache, dann reagiert irgendwann mein BASCOM nicht mehr und ich muss es neustarten.
$regfile = "m32def.dat"
$crystal = 250000
$baud = 9600


Config Pind.7 = Output 'Ein Pin wird aus Ausgang konfiguriert PD7 (also Pin7 von Port D)
Config Pina.7 = Input 'Ein Pin (PA0) wird als Eingang definiert
Porta.7 = 1 'Interner Pullup Widerstand ein

Do
If Pina.7 = 0 Then
Portd.7 = 0
Print "Schalter gedrückt" 'Pin wird auf Low, also 0V geschaltet
Else
Portd.7 = 1
Print "Schalter nicht gedrückt" 'Pin wird auf High, also 5V geschaltet
End If
Wait 1
Loop

End

An dem RxD (PD0) liegt eine Spannung von 5V an. Am TxD (PD1) auch, aber sie geht für kurze Zeit auf 0V (regelmäßig). Das Umprogrammieren geht !

Hoffe du kannst mir weiterhelfen.

Hubert.G
26.04.2007, 17:37
Hallo
Es freut mich wenn ich helfen konnte. Bei BASCOM habe ich allerding Pause, ich kann nur C, ich mir dafür noch keine Zeit genommen.
Aber ich nehme an das es hier genug gibt die dir helfen können.
Hubert