Forum: Mikrocontroller und Digitale Elektronik CodeVision AVR Befehlssatz


von Bronstein (Gast)


Lesenswert?

Hat jemand einen Befehlsatz (Sprich wie man bsw. einen PORT zum Eingang
macht) für CodeVision AVR oder ein Tutorial, am besten auf Deutsch.

Wie kann ich die Baudrate eines AVR auslesen und danch falls sie nicht
korrekt eingestellt ist diese ändern.
If(Baudrate = falsch)
  Baudrate setzen

wie heisen die Befehle dafür

von Stefan Seegel (Gast)


Lesenswert?

"Befehlssatz" hab ich nicht, aber die grundlegenden Sachen
unterscheiden sich bei den verschiedenen AVR C Compilern kaum, probier
einfach aus, in den Datenblätter sind auch viele Beispiele in C drin.
Baudrate auslesen ??? Der AVR macht die Baudrate die die ihm sagst,
bevor du was einstellst geht garnix. Auch hier : DATENBLATT!

Stefan

von Fichte (Gast)


Lesenswert?

Hay Bronstein


Den Befehlsatz um einen Ausgang zum eingang machen geht ja eigentlich
so.

zbs. Mega16

Im Code sieht das so aus.

if(Taste1 Gedrückt dan mache){
PORTA=0x00; // Als Ausgang Definiert
DDRA=0x00;
}

if(Taste2 Gedrückt dan mache){
PORTA=0x00; // Als Eingang Definiert
DDRA=0xFF;
}


Also die baudrate von was?
Möchtest du auslesen was für eine Baudrate ein gerät am AVR hat?


MFG: Fichte

von Clemens (Gast)


Lesenswert?

@Bronstein

Wenn ich dich wäre würde ich einmal die Grundlagen der
Mikrocontrollerprogrammierung anschauen => siehe hier avr-tutorial

Alles was sonst wichtig ist findest du im Datenblatt:

http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf

von Bronstein (Gast)


Lesenswert?

@ Fichte

Möchte die Baudrate die im µC eingestellt ist auslesen

von Peter Dannegger (Gast)


Lesenswert?

"Möchte die Baudrate die im µC eingestellt ist auslesen"


Die Baudrate kannst Du nirgends auslesen, sondern nur den
Baudratenteiler und dann mit der Formel im Datenblatt daraus die
Baudrate errechnen.


Allerdings solltest Du doch die Baudrate wissen, die Du in Deinem
Programm wärend der Initialisierung gesetzt hast. Von alleine ändert
die sich nicht.


Peter

von OldBug (Gast)


Lesenswert?

@Fichte:

>PORTA=0x00; // Als Ausgang Definiert

Föllig falscher Kommentar!
PORTx "macht nix zum Ein/Ausgang", dafür ist das
Datenrichtungsregister (data direction register / DDRx) da.

von Bronstein (Gast)


Lesenswert?

@Peter
Möchte diese aber trotzdem auslesen können, damit ich sie später auf
meinem PC-Programm anzeigen kann.
Der Benutzer soll später nämlich die Möglichkeit haben die Baudrate zu
ändern.
Ich weis nur nicht mit welchen Befehlen ich das machen kann.

von Chief Brady (Gast)


Lesenswert?

Dann merke dir doch einfach die Baudrate, die du gesetzt hast (bzw. den
Generatorwert). Immerhin setzt du doch selbst den Wert.

von Stefan Seegel (Gast)


Lesenswert?

Auslesen geht genauso wie setzten, also dieses
Baudraten-Dividierungs-Register (siehe Datenblatt) und nach der Formel
vom Datenblatt die Baudrate ausrechnen (auch Formel siehe Datenblatt)

RTFM

Stefan

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.