-         
Ergebnis 1 bis 8 von 8

Thema: ISP-Dongle falsch angeschlossen

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.08.2006
    Ort
    Datteln
    Alter
    31
    Beiträge
    149

    ISP-Dongle falsch angeschlossen

    Anzeige

    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?

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.192
    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

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.08.2006
    Ort
    Datteln
    Alter
    31
    Beiträge
    149
    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.

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.192
    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

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.08.2006
    Ort
    Datteln
    Alter
    31
    Beiträge
    149
    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)

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.192
    Auf XTAL1 legen, natürlich nicht mehr als 5Vss. 1MHz genügt, die Zeiten müssen nicht exakt sein, ungefähr genügt.
    Hubert

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.08.2006
    Ort
    Datteln
    Alter
    31
    Beiträge
    149
    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.

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.192
    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

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •