PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wie funktioniert die serielle übertragung?



katiiiiii
20.01.2005, 14:00
Hallo Leute!

Also,ich habe folgendes Problem. Ich muss für die Diplomarbeit die serielle Übertragung übernehmen. Wir haben einen ATmega32 und eine serielle Schnittstelle. Wir haben selber eine Platine gemacht, wo alles drauf ist,was wir fürs programmieren brauchen (wie .z.b. MAX232 usw.).
nun hab ich das Problem,dass i absolut keine ahnung habe, welche register ich setzten muss oder wie ich die übertragung starte und dann sende. Ich habe zwar das Datenblatt schon gelesen (Uart), aber es ist für mich trotzdem schwierig etwas damit anzufangen.

vl könnt ihr mir tipps geben, wie ich diese aufgabe bewältige oder wie ich am besten anfange! würd mich freun, wenn ihr mir helfen könntet. Hoff, hab mein Problem ausführlich erklärt.

Mfg Kati

RCO
20.01.2005, 14:33
In welcher Sprache willst du den Mega32 den programmieren?
in BAscom z.B. musst du gar keine Register setzen, sondern nur die Baudrate angeben und mit Print "Text" senden. ZUm empfangen gibt es mehrere Befehle, je anchdem was ankommt.

Ansonsten google mal rum oder durchsuch hier das entsprechende Forum, da sollte sich eigentlich genung finden lassen.

MFG Moritz

katiiiiii
20.01.2005, 15:10
ich machs mittels AVR und übertragen tu ichs mit PONYprog!

bei google find i leider nix brauchbares, zumindest kann i damit net viel anfangen! bin leider nicht so gut im programmieren bzw. im verstehen.

mfg kati

RCO
20.01.2005, 15:22
Also in C!
Da kenne ich mich leider nicht su gut, aus, schau mal hier:
http://www.mc-project.de/
Ist eigentlich WinAVR und Ponyporg der selbe C-Dialekt?

MFG Moritz

katiiiiii
20.01.2005, 15:30
gute frage. hab noch nicht oft damit gearbeitet. soweit ich weiß wird bei ponyprog nur der hex code erzeugt und auf den µcontroller gesendet.

mfg katrin

katiiiiii
20.01.2005, 15:37
hey, danke fürn link. is echt net schlecht! versteh sogar teilweise die sachen! find i cool. danke!

mfg

pebisoft
20.01.2005, 15:40
mit ponyprog wird nicht der hex-code erzeugt sondern übertragen zum avr. die frage: Ist eigentlich WinAVR und Ponyporg der selbe C-Dialekt? ,
hat keinen inhalt. mit winavr wird der c-code in hex umgewandelt und ponyprog lädt das in den avr.
mfg pebisoft

RCO
20.01.2005, 15:40
Keine Ursache, du kannst auch mal hier im "C-Programmierung mit GCC/WinAVR"-Forum nachschauen.

MFG Moritz

EDIT:
@ Pebisoft:
Damit wäre die Frage wohl geklärt.

bluebrother
20.01.2005, 17:42
Also eigentllich musst du nur die Register (Baudrate und USART an / TXEN) richtig setzen und kannst danach direkt nach UDR schreiben. Im manual vom ATmega ist ein netter C-Schnipsel, den benutz ich auch. Wenn du das ganze in einem Interrupt machen willst musste mal bei Atmel gucken, irgendwo gabs da ne Application Note mit Code.

katiiiiii
20.01.2005, 21:44
naja, das datenblatt hab i ja schon durchgelesen, aber i hab net so ganz kapiert, worum es da überhaupt geht. weil durchs avr studio muss i die ganzen register nicht setzten. des kann man soweit ich weiß alles schon vorher auswählen und wird direkt im code integriert.
nur ich weiß nicht, wie der befehl heißt, dass i was schicken kann. mit UDR hab i heut schon was gelesen. i glaub des war UDR=data; oder so! aber i kann mir des halt net so ganz vorstelln wie des funktioniert. weil so einfach is des sicher net oder?

Mfg
kati

20.01.2005, 22:11
Hallo

Schau mal hier rein, sollte viele Fragen beantworten.

http://www.mikrocontroller.net/wiki/AVR-GCC-Tutorial#Der_UART.2C_Teil_1


MFG
Dieter

katiiiiii
21.01.2005, 08:42
danke! ist mir sicher hilfreich!

mfg
kati

mirki
23.01.2005, 13:19
Schau mal hier :

Da hatte ich mal ziemlich viel rumgespielt !!

katiiiiii
24.01.2005, 08:13
danke für den quellcode! aber was macht der eigentlich genauer? weil der code ist für mich a bissl unübersichtlich, da es schwer ist, von anderen Leuten den code zu entziffern.
aber i werds mir daheim noch mal genauer anschaun! danke nochmals ;-)!

mfg kati

mirki
24.01.2005, 21:04
Das war mein erstes Program !
Damit wird eine LED mit einem Taster ein und ausgeschaltet. Dabei wird der x'te Tastendruck über die uart ausgegeben. Der taster ist zudem auch über einen billigen code entprellt.