- 12V Akku mit 280 Ah bauen         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: ATMEGA32 Seriell über RXD/TXD programmieren?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.04.2005
    Ort
    Pforzheim
    Alter
    43
    Beiträge
    163

    ATMEGA32 Seriell über RXD/TXD programmieren?

    Hallo Leute,

    ich hoffe ich bin hier richtig:
    Kann ich meinen ATMEGA32 Seriell über RXD/TXD programmieren?
    Bisher habe ich das nur über den Parallelanschluss und MISI/MOSI gemacht.

    Jetzt habe ich mir aber das RN-Funk Board gegönnt und möchte es für kommunikation und programierung über einen stecker nutzen.

    Meine frage:
    Ist das möglich?
    Oder wie würdet ihr das machen?

    danke schon mal im voraus.
    MfG Ich

    -------------------------------------------------------------
    http://www.lorenzschulz.de/Roboter.html

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.02.2005
    Ort
    Salzburg
    Alter
    44
    Beiträge
    464
    Du kannst ihn mit TXD und RXD programmieren, aber nur wenn du eunen Bootloader vorher hineinflashst.
    Dann musst ihn nur einmal per ISP also MOSI und MISO programmieren.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.04.2005
    Ort
    Pforzheim
    Alter
    43
    Beiträge
    163
    Achso, danke für die rasche antwort.
    Kann ich das RXD/TXD signal aus den Funkboards benutzen um ihn über MOSI/MISO zu programieren?
    MfG Ich

    -------------------------------------------------------------
    http://www.lorenzschulz.de/Roboter.html

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    Hi!

    Warum willst du das machen?
    Du kannst ihn nciht über miso mosi programmieren, da das 1. ein ganz anderes Protokoll ist, 2. weil man dazu noch ein Taktsignal benötigt und 3. weil du dazu RESET auf low ziehen musst.

    Um den AVR per Funk zu flashen brauchst du ebenjenen Bootloader.

    VLG Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.04.2005
    Ort
    Pforzheim
    Alter
    43
    Beiträge
    163
    Ok, danke für die raschen antworten. Ich glaube ist steige bei dem Ganzen thema nicht ganz durch.
    Verstehe ich das richtig: ich flashe mir den Bootloader mit meinem eigentlichen Programm auf den Controller. Dannach kann ich mit den Signalen aus dem Funkboard die Sensoren abfragen und den Roboter steuern?

    Oder versteh ich die funktion des Bootloaders falsch?
    MfG Ich

    -------------------------------------------------------------
    http://www.lorenzschulz.de/Roboter.html

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi,
    nö, der Bootloader ersetzt dir nur den Programmer.
    Statt über die MISO / MOSI etc. geht das dann seriell.

    Das hat mit dem eigentlichen Controllerprogramm nix zu tun.
    Der Bootloader übernimmt nur die Daten vom PC und speichert sie in den Flash.

    Du lädst den Bootloader also erst mal mit deinem normalen Programmer in den Controller.
    Ab dann kannst du den Controller mittels eines PC Programms über die serielle Schnittstelle flashen.

    Bootloader kannst du dir selber programmieren, oder du benutzt einen fertigen, zB. "Megaload", den gibt's hier:

    www.microsyl.com

    Gruß
    Christopher

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.04.2005
    Ort
    Pforzheim
    Alter
    43
    Beiträge
    163
    Ahhhh, jetzt wirds mir klarer,
    mit welchem PC Programm kann ich das programm dann auf der Controller schreiben. Weil Bascom bietet nur STK200/500, ISP usw. als schnittstelle an.
    Wie kann ich ihm sagen, dass ich seriell über nen eigenen adapter schicken will?

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    Hi!

    Nun... das kommt ganz auf deinen Bootloader und das von ihm benutzte Protokoll an.

    Wenn du dir einen selber schreibst, musst du diene Software entweder so anpassen, dass der bootloader die Software versteht, oder du musst dir eine eigene Programmiersoftware schrieben. Je nach dem.

    VLG Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi,
    es gibt in den Bascom Samples einen Quellcode für einen Bootloader.
    Der kann dann direkt aus Bascom angesprochen werden.

    Der Bascom Bootloader arbeitet mit X-Modem Protokoll.
    Ich hatte den mal so umgeschrieben, daß er nicht mehr auf das Bascom-eigene Downloadprogramm wartete, sondern mit einem Taster gestartet wurde.
    Dadurch konnte man jedes X-Modem fähige Terminalprogramm zum downloaden nutzen. (zB. Hyperterminal)

    Gruß
    Christopher

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi,
    Wenn du das mit dem Bootloader mal ausprobieren willst:
    1.
    lade das Programm "bootloader.bas" in Bascom.
    "bootloader.bas" findest du im verzeichnis samples/boot
    Passe die Einstellungen für den Quarz an.
    Den Chip brauchst du nicht im Programm zu ändern, da dort schon der Mega32 voreingestellt ist.

    2.
    compile das Programm mit Bascom.
    Die Größe des Programms wird mit 98% angegeben.
    Nicht dran stören.
    Das ist die Größe , die der Bootloader im Bootbereich braucht.
    Für dein eigentliches Programm ist dann immer noch genug Platz.

    3.
    Mit dem vorhandenen Programmiergerät schickst du das Programm nun zum Chip.
    Es wird dort automatisch in den Bootbereich geladen.
    (wenn der verfügbar ist, das kann man mit den Fuses einstellen)

    4.
    Programmiergerät abstöpseln.

    Ab jetzt kannst du den Mega 32 seriell programmieren:

    Serielles Kabel vom PC an den Mega32 anschließen (über einen Pegelwandler)

    In Bascom bei "Programmer" den "MCS Bootloader" auswählen.

    Jetzt lädst du dein eigentliches Programm in Bascom, oder schreibst ein neues.
    Dieses Programm wie gewohnt compilieren.

    5. In Bascom auf "Run Programmer" clicken (oder F4)

    6. Den Mega32 resetten.

    Jetzt wird das Programm seriell auf deinen Mega32 übertragen.


    Wichtig:
    Bootloder und Bootprogramm müssen die gleiche Baudrate haben.
    (also bei "Programmer" in Bascom Baudrate kontrollieren)

    Gruß
    Christopher

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad