Atmega und PC über UART Komunikation aber wie?

OP (Firma: gmbh-keine) #2709323
Lesenswert?
• ▲
▼
Hallo,

habe ein Atmega32, FTDI-Kabel, Vinculo-Board, und bin Motiviert.

Hätte gerne eine Verbindung zwischen PC und Controller via Uart (TX, DX) 
aufgebaut.
Habe schon einiges versucht, aber ohne Erfolg!!

Kann wer ein Tipp geben wie ich in c# ein kleines Signal an den PC 
schicken und den durch ein z.B.: ein Hyperterminal sichtbar mach??

Vielleicht ein kleines Projekt im Netz was schon Funktioniert und das 
ich verstehen kann.

Lg georg
#2709366
Lesenswert?
• ▲
▼
georg georg schrieb:

> Kann wer ein Tipp geben wie ich in c# ein kleines Signal an den PC
> schicken und den durch ein z.B.: ein Hyperterminal sichtbar mach??

Fang erst mal in die umgekehrte Richtung an:
Der µC sendet die ganze Zeit mit einer bestimmten Baudrate und dein 
Hyperterminal soll an der 'Seriellen' lauschen und das darstellen.

Damit debuggst du erst mal alle Problemkreise, die sich um
* falsche Baudrate
* falsche QUarzferquenz
* falsch gekreuztes Kabel
ergben.

Funktionierts in diese Richtung (µC->PC), dann funktionierts in die 
andere Richtung auf Anhieb.

> Vielleicht ein kleines Projekt im Netz was schon Funktioniert und das
> ich verstehen kann.

Wenn du deine Hardware fehlerfrei hast, findest du dann auch im Netz 
jede Menge Codebeispiele, die zeigen wie man mit C# die Serielle 
anspricht und Zeichen auf den Weg bringt. Aber erst mal muss dein 
Übertragungskanal stehen. Und den kriegst du am Vernünftigsten 
fehlerfrei, wenn du das Spielchen "Stochern im Nebel" aufgibst und dir 
eine Möglichkeit suchst, wie du überprüfen kannst, ob am Ende der 
Strecke auch das ankommt, was du am Anfang reinsteckst. Da davon 
auszugehen ist, dass die Serielle am PC korrekt funktioniert, ist das 
dann eben µC->PC.

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Der_UART
OP (Firma: gmbh-keine) #2711527
Lesenswert?
• ▲
▼
Hallo,
Danke dir für deine Anwort!

Hartware müsste Top sein!

Habe diesen Code mit meien Einstellunfgen auf einen Atmega32 geflasht..
extern 12Mhz (Auch so geFust)

FT232R Kabek auf Pin 14, 15 (TX,DX) (Orange,Gelb)


Dieses Prog solte Uart mit eienm vom Terminal am µP einlessen und wider 
zurücksenden!?

Tut es aber nicht!?
Kann es sein das ich beim FT232R Kabel was falsch mache?
1
 #include <avr/io.h>
2
 #include <inttypes.h>
3

4

5
 // Sollte schon im Makefile definiert sein.
6
 // In dem Fall hier einfach löschen.
7
 #define F_CPU 12000000UL
8

9
 #define BAUD 19200UL
10
 #define UBRR_BAUD ((F_CPU/(16L*BAUD))-1)
11

12
 // USART initialisieren
13
 void uart_init(void)
14
 {
15
 // Baudrate einstellen (Normaler Modus)
16
 UBRRH = (uint8_t) (UBRR_BAUD>>8 );
17
 UBRRL = (uint8_t)UBRR_BAUD;
18

19
 // Aktivieren von receiver und transmitter
20
 UCSRB = (1<<TXEN) | (1<<RXEN);
21

22
 // Einstellen des Datenformats: 8 Datenbits, 1 Stoppbit
23
 UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
24
 //UCSRC |= (1<<URSEL)|(3<<UCSZ0);
25
 }
26

27
 int main(void)
28
 {
29
 uint8_t buffer;
30

31
 // USART initialisieren
32
 uart_init();
33

34
 while (1)
35
 {
36
 // Warten bis Daten empfangen wurden
37
 while ( !(UCSRA & (1<<RXC)) );
38

39
 // Empfangsregister auslesen
40
 buffer = UDR;
41

42
 // Warten bis der Sendepuffer frei ist
43
 while ( !( UCSRA & (1<<UDRE)) );
44

45
 // Daten in den Puffer schreiben und damit senden
46
 UDR = buffer;
47

48

49
 }
50
 return 0;
51
 }

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.