Forum: Mikrocontroller und Digitale Elektronik Atmega32 Terminal


von Bauzli (Gast)


Lesenswert?

Hallo,
ich (Anfänger uC) habe einen Atmega32 über einen FT232 Konverter an USB 
hängen. Erkennung des Mikrokontrollers und download von Programmen geht 
problemlos. Nun möchte ich gerne über das Hyper-/Terminal mit dem Kerl 
kommunizieren. Sprich er gibt mir den Wert des ADC oder andere Variablen 
an und ich kann ihm z.B sagen er soll Variable XY auf folgenden Wert 
ändern. Ist dies in der beschriebenen Form irgendwie möglich, wenn ja 
wie in etwa?

Besten Dank :)

von Otto (Gast)


Lesenswert?

Hallo Bauzli,

das musst Du ihm beibringen..... die Frage ist, welche Sprache möchtest 
Du mit ihm sprechen: C oder Assembler?

Gruss Otto

von Bauzli (Gast)


Lesenswert?

Hallo,

danke erstmal für die Antwort :)

Ich programmiere in C und verwende den GCC Compiler.

von Andreas H. (asmhesse)


Lesenswert?

Schau mal hier:

http://www.mikrocontroller.net/articles/UART

Gruss
Andreas

von bauzli (Gast)


Lesenswert?

Hallo,

ich hab mich etwas schlauer gemacht. Ich habe nun ein kleines 
Testprogramm geschrieben jedoch ohne Erfolg. Anbei seht ihr den Code (8 
Datenbit - 1 Stopbit - Baud 19.2k), habe ich etwas falsch gemacht oder 
vergessen?
1
void USART_Init( unsigned int baud )
2
{
3
/* Set baud rate */
4
UBRRH = (unsigned char)(baud>>8);
5
UBRRL = (unsigned char)baud;
6
/* Enable receiver and transmitter */
7
UCSRB = (1<<RXEN)|(1<<TXEN);
8
/* Set frame format: 8data, 1stop bit */
9
UCSRC = (1<<URSEL)|(0<<USBS)|(3<<UCSZ0);
10
}
11
12
int main(void)
13
{
14
    Init();
15
    USART_Init(19200);
16
  
17
    while (!(UCSR0A & (1<<UDRE))) 
18
    {}
19
    UDR = 'x';
20
}

von Otto (Gast)


Lesenswert?

Hallo bauzli,

> habe ich etwas falsch gemacht oder vergessen?

was passiert denn ?

Otto

von bauzli (Gast)


Lesenswert?

leider gar nichts.:(

Ich habe schon einige Beispiel-Codes, UART-, AVR-Anleitungen gelesen, 
aber ich komme einfach nicht weiter, und weiss nicht weshalb es nicht 
funktioniert.

von Otto (Gast)


Lesenswert?

> leider gar nichts.:(

1. läuft der Controller ?

Lass eine LED blinken

2. ist die RS232-Verbindung richtig hergestellt ?

Miss mit dem Scope, ob der Controller an TxD etwas herausgibt

Otto

von Jörg X. (Gast)


Lesenswert?

Die UBRR_Register sind etwas 'anders' einzustellen, als du mal so 
ausprobierst --  Hast wirklich Irgendwas dazu gelesen (Tut., DATASHEET)?

Falls du das liest, 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#UART_initialisieren
  findest du wahrscheinlich (wenigstens) den gröbsten (USART-) Fehler...

hth. Jörg

von Martin F. (theo)


Angehängte Dateien:

Lesenswert?

Hallo,

anbei ein Demoprojekt, welches die RS232 sowie ein LCD-Display sehr gut 
unterstützt. Erstellt mit AVRLibc u. dem AVR Studio 4.13.

P.S. Die Baudrate ist 9600 baud. Für höhere Baudraten muss die interne 
Frequenz über CKSEL u. SUT (siehe Fuses u. Datenblatt des uC's) 
hochgesetzt werden.

Wichtig ist auch im Hyperterminal die Flußkontrolle zu deaktivieren.

Gruß
 Theo

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.