PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmieren über die Serielle Schnittstelle



blizzard
10.07.2005, 13:04
Hi Leute

Kann man einen Atmel AVR Mega ..... eigentlich mit Bascom über die serielle Schnittstelle proggen? Glaub ich hab schon mal gelesen, dass das funkt. Wenn es geht bräucht ich noch die Einstellungen für BASCOM (für Programmer, oder wie das heißt usw.).
Bitte um Antwort.

mfg blizzard

linux_80
10.07.2005, 14:11
normalerweise geht das nicht über RS232, nur ISP,
beim ASURO geht das nur, weil dieser ein spezielles Bootprogramm hat das RS232 unterstützt.

pebisoft
10.07.2005, 14:15
da gibt es ein programm megaload. damit kann man die hex-dateien über die serielles schnittstelle laden. du musst aber zuerst das bootprogramm (gibt es als hex für den avr16 und avr32 usw hier im forum) mit bascom in den avr laden. dann erst kannst du den megaload benutzen.
eine tolle sache. wenn du aber easy-funkmodule an rxd und txd betreibst geht es nicht oder du musst sie vorher ausschalten.
schau mal unter "megaload".
mfg pebisoft

chr-mt
10.07.2005, 14:16
www.microsyl.com
Da gibt's den Megaload Bootloader für dieMega AVRs.
Der muß allerdings per ISP erst mal in den Controller.
Ab da geht's mit der seriellen Schnittstelle, aber nicht direkt aus Bascom heraus, sondern das ist ein eigenes Programm zum downloaden.
Nachteil ist die lange Wartezeit bis das eigentliche Programm gestartet wird.
Die HEX-Files gibt's leider auch nicht auf der Website, die findest du aber hier im Roboternetz.

Gruß
Christopher

blizzard
10.07.2005, 14:46
Hört sich ja ziemlich komplex an. Dan ist es wohl einfacher über die Paralelle Schnittstelle! Da gibts eh einen Artikel im Roboternetz. Aber da steht auch was davon, dass es eine nicht so sichere Variante ist. Wie groß ist da die Gefahr, dass was im XXXAUTOZENSIERTXXX ist wenn man einen Fehler macht (blizzard <- Anfänger!)? Das mit den Einstellungen hat sich dan ja von selbst erledigt, die stehen im Artikel. Jetzt würd ich nur noch gerne wissen, wo man die Bauteile für eine Verbindung vom AVR zum PC herbekommt (bin aus Österreich).

mfg blizzard

Felix G
10.07.2005, 14:50
Also nur um das mal klarzustellen:
Es gibt ISP Programmer sowohl für die parallele als auch für die Serielle Schnittstelle.

Einen Bootloader braucht man nur, wenn man statt der ISP-Schnittstelle des AVR eben die UART Schnittstelle verwenden möchte

blizzard
10.07.2005, 15:25
Jetzt bin ich etwas verwiert.
Soll das heißen: Ich muss mir jetzt das -> http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=41 kaufen? Oder kann ich denATMEGA32 auch mit diesem Kabel proggen -> https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=849 (serielle Version). Also, für welche Version benötige ich keinen Bootloader? Welches Kabel benötige ich um Texte die der AVR ausgiebt in BASCOM oder dem Hyperterminal darzustellen? Geht das auch alles beide mit einer Verbindung? Bitte eine kostengünstige und sichere Version.

mfg blizzard

10.07.2005, 16:01
Zum programmieren das:
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=41

Für Terminalprogramm (Teste ausgeben wie du sagst) das:
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&products_id=42

linux_80
10.07.2005, 16:04
mit diesen beiden gehts natürlich auch,
bei der Parallelen Version ist es besser den Dongle zu benutzen, dann lebt die Schnittstelle am PC länger
hier ist der Bausatz mit Schaltplan:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=2194

Felix G
10.07.2005, 16:11
Für keine der Varianten brauchst du einen Bootloader.


Einen AVR programmiert man normalerweise über seine ISP-Schnittstelle, das sind die Pins MISO, MOSI und SCK (3 Pins von Port B).
Dafür gibt es verschiedene Programmieradapter, die man an die serielle oder parallele Schnittstelle des PCs anschliessen kann.

Alternativ kann man einen AVR aber auch über seine UART-Schnittstelle programmieren (die Pins RXD und TXD von Port D).
Die UART Schnittstelle ist eine universelle serielle Schnittstelle die (in Kombination mit dem Pegelwandler Max232) kompatibel zur seriellen Schnittstelle des PCs ist.
Um einen AVR über diese Schnittstelle programmieren zu können, muss man aber erstmal einen Bootloader in den Flashspeicher laden (per ISP).
Dieser Bootloader hat dabei nur die Aufgabe, ein Programm das über die serielle Schnittstelle empfangen wird in den Flashspeicher zu kopieren.

Sinn macht das Ganze, weil man so die 3 ISP-Pins wieder frei verwenden kann, und RXD+TXD meistens eh schon für die Kommunikation mit dem PC verwendet werden.


kurz gesagt:
ohne Bootloader brauchst du zwei Kabel (ISP und RS232), mit Bootloader brauchst du nur eins (RS232)

um mit dem Controller zu kommunizieren (Hyperterminal etc.) brauchst du einfach nur ein Kabel zur seriellen Schnittstelle des PCs
und den Max232 (der ist nötig da die UART mit TTL Pegeln arbeitet, die serielle Schnittstelle des PCs jedoch nicht)

blizzard
10.07.2005, 16:26
Gut. Dann werd ich mir die Platine für die Parallele Schnittstelle kaufen und dan selbst aufbauen. Das RS232 PC-Anschlusskabel glaub hab ich schon! Und zwar hab ich mir den Robby (CCRP5) schon vor einem Jahr gekauft und da ist ein kabel zum proggen und zum Daten mit dem Hyperterminal austauschen dabeigewesen. Das sieht ganz nach einen RS232 PC-Anschlusskabel aus, nur heißt es da Nullmodernkabel (haben sich die da verschrieben?). Hab mal ein Bild davon angehängt. Ist das ein RS232 PC-Anschlusskabel ?

mfg blizzard