Einstieg in UART geglückt - Fragen

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 18 10 2024  14:32:24      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte

Gehe zu Seite ( Vorherige Seite 1 | 2 )      


Autor
Einstieg in UART geglückt - Fragen

    







BID = 384495

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika
 

  


Hallo Steffan,

Ich will nicht meckern, aber es sollte helfen,
1. Das Datenblatt zu lesen, denn dort wird die exakte Funktionsweise der asynchronen Schnittstelle exakt beschrieben, nebst zu beschreibenden Registern,
2. Nicht diese blöden Routinen von BASCOM zu nutzen.


Zitat :
[...]sollte ein Nullmodem sein, ich mein, Senden geht ja..[...]

Das darf es nicht sein! Es muss ein Kabel sein, wo Rx und Tx nicht gekreuzt sind, wie bei einem Nullmodemkabel. 1:1 sollte es sein. - Da jedoch Daten ankommen, sollte es das richtige Kabel sein.

---

Es wird, bei korrekter Initialisierung, ein Interrupts ausgeführt: URXC.
Wenn dieses im Programm aufgerufen wird, sind Daten über RS232 ins Register UDR eingegangen. Die kann man da rausholen - einmalig! Denn wenn man das Register einmal eingelesen hat, wird der Inhalt automatisch gelöscht.

Deshalb:



Code :


Enable Interrupts
Enable URXC
On URXC Zeichen_ein

Do
...
...
Loop

Zeichen_ein:
...
...
Return



So sollte es klappen.



Weiterhin sollte die Option "kein Handshake" eingestellt werden, denn das wird hier nicht benutzt. Weder Hard- noch Softwaremäßig.


Testen, ob Daten rein- oder rausgehen kann man mit Transistor und LED anzeigen lassen, es handelt sich ja bloß um temporären Nutzen. Natürlich geht das auch mit deinem Oszi oder jedem normalen Logiktester.

Außerdem solltest du mal PC-seitig Rx und Tx brücken - Jetzt kommen die Daten, die gesendet werden, stumpf zurück. Damit kannst du auch testen, ob die XP-Rechner empfangen können. Ich gehe übrigens davon aus, dass das mit XP nichts zu tun hat. Serielle Geräte funktionieren bei mir zumindest auch mit XP .

_________________

BID = 384581

Steppenwolf

Schreibmaschine



Beiträge: 1757
Wohnort: Zürich, Schweiz
Zur Homepage von Steppenwolf

 

  

Also,

mit dem XP funktioniert nun alles, Daten kommen, bei Kurzschluss der Datenleitungen, sofort zurück.

Nur:

Ich hab die Hardware mal nach diesem Schema hier umgestrickt:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART

jetzt gehts gar nicht mehr... Es ist ja zum verzweifeln...
Welche Beschaltung soll ich denn nun nehmen?

Die Beschaltung nach dem Schaltplan im Link stimmt bei mir, wenn ich in die Buchse schaue (von aussen), dann ist oben links die 1, es ist auch in der Buchse angeschrieben...Nur geht nix...

Bei mir sieht das Kabel so aus:
5==>5
2==>3
3==>2

Stimmt das so?

Edit:

Habs mit der Beschaltung vom obigen Link mal am Oszi gehabt.
Der AVR sendet alle 50ms etwas.
Ich messe gegen GND.
Es zuckt auf Leitung 3.
Leitung 2 ist still.
Am AVR zuckt es am Pin PD1

Das Teil sendet also...
Nur: Warum kann ich von keinem PC was empfangen? Baudraten stimmen, Handshake ist aus...



_________________
Meine Projekte:
http://mauerer.m.googlepages.com

[ Diese Nachricht wurde geändert von: Steppenwolf am  9 Nov 2006 21:12 ]

[ Diese Nachricht wurde geändert von: Steppenwolf am  9 Nov 2006 21:19 ]

BID = 384591

Jornbyte

Moderator



Beiträge: 7155

Die Schaltung von AVR-Tutorial:_UART ist richtig.
An diese Schaltung kommt eine Buchse. Das Kabel sollte eine 1:1 Verbindung sein, also Stecker und Buchse, wenn das so ist, ist deine Belegung falsch.
5==>5
2==>2
3==>3 ist Richtig. (RS232)
Bei Nullmodem ist es
5==>5
2==>3
3==>2


_________________
mfg Jornbyte

Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.

BID = 384592

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika


Zitat :

2==>3
3==>2


Das ist doch ein gekreuztes Kabel.



Nimm als Bezugspunkt für Datenrichtungen mal den PC:
Welcher PIN führt das asynchrone Signal vom PC raus (Tx)? Diese Leitung geht dann in einen Eingang des MAX232. Der Ausgang davon geht dann beim AVR an den Pin Rx (Receive -> Empfänger)
So, dann guckt man, wieder von PC-Sicht, welches der Eingang für die asynchronen Daten (Rx) ist. Den verfolgt man weiter und schließt in an einen Ausgang des MAX232 an. Den dazu passenden Eingang hängt man an den AVR-Eingang Tx (Transmit -> Sender)

Sollte ohne Probleme gehen.
Bist du auch sicher, ob auf dem AVR alles korrekt initialisiert wurde? Die Interrupts müssen aktiv sein, auch wenn nicht empfangen wird!

(Ist doch käse, ich würde mal wieder Assembler empfehlen, bringt einfach mehr )

Edit: Jornbyte war schneller

_________________


[ Diese Nachricht wurde geändert von: DonComi am  9 Nov 2006 21:48 ]

BID = 384593

high_speed

Schreibmaschine



Beiträge: 2073

Hallo Mario

Hier mal die Pinbelegung der seriellen Schnittstelle am DTE
(Data Terminal Equipment) [dein PC]:
http://de.wikipedia.org/wiki/EIA-232

Dein µC Schaltung bekommt dann die DCE-Beschaltung (Data
Circuit-Terminating Equipment). Die Verbindungsleitung ist
1:1 durchverbunden, auf der einen Seite (DCE) mit einem
Stecker auf der andern (DTE) mit einer Buchse.

Pin2 (9 Pol.) ist am DTE: RxD
Pin3 (9 Pol.) ist am DTE: TxD
Pin2 (9 Pol.) ist am DCE: TxD
Pin3 (9 Pol.) ist am DCE: RxD

Korrigiere deine Leitung und Schaltung.

Wenn du den µC gesockelt hast, zieh ihn mal heraus und verbinde TxD mit RxD in der Fassung mit einem Draht.

MfG
Holger

_________________
George Orwell 1984 ist nichts gegen heute.
Der Überwachungsstaat ist schon da!

Leider lernen die Menschen nicht aus der Geschichte,
ansonsten würde sie sich nicht andauernd wiederholen.

[ Diese Nachricht wurde geändert von: high_speed am  9 Nov 2006 21:50 ]

BID = 384594

Steppenwolf

Schreibmaschine



Beiträge: 1757
Wohnort: Zürich, Schweiz
Zur Homepage von Steppenwolf

Hmm, also moment mal.
Wenn ich ein gekreuztes Kabel hab, dann kreuze ich die Leitungen doch einfach auf meinem Board wieder zurück, indem ich sie nach dem MAX und vor der Buchse noch tausche...

Werde ich nachher mal schnell machen.

_________________
Meine Projekte:
http://mauerer.m.googlepages.com

BID = 384604

high_speed

Schreibmaschine



Beiträge: 2073

Hallo Mario

Was hast du denn jetzt für eine Leitung?
Nach Schaltplan hast du in deiner Schaltung eine Buche
verbaut. Dazu gehört normalerweise eine 1:1 durchverbundene
Leitung.
Wenn du dagegen einen Stecker verbaust hättest, würde man
normalerweise eine Nullmodemleitung verwenden.

Im Endeffekt muss TxD vom µC-Board mit dem RxD vom PC
verbunden werden. Für RxD gilt das entsprechende.

RxD <- TxD
TxD -> RxD
( CTS <- RTS )
( RTS -> CTS )

MfG
Holger

_________________
George Orwell 1984 ist nichts gegen heute.
Der Überwachungsstaat ist schon da!

Leider lernen die Menschen nicht aus der Geschichte,
ansonsten würde sie sich nicht andauernd wiederholen.

[ Diese Nachricht wurde geändert von: high_speed am  9 Nov 2006 22:08 ]

BID = 384605

Steppenwolf

Schreibmaschine



Beiträge: 1757
Wohnort: Zürich, Schweiz
Zur Homepage von Steppenwolf

Jaaaaaaaa

Hab die Leitungen auf der MAX-Seite getauscht...
Es geht! Sowohl Senden als Empfangen!!

Danke vielmals für die Hilfe!!

Herzlichen Gruss
Mario

_________________
Meine Projekte:
http://mauerer.m.googlepages.com


Vorherige Seite      
Gehe zu Seite ( Vorherige Seite 1 | 2 )
Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 22 Beiträge im Durchschnitt pro Tag       heute wurden bisher 9 Beiträge verfasst
© x sparkkelsputz        Besucher : 182195875   Heute : 2282    Gestern : 4612    Online : 765        18.10.2024    14:32
4 Besucher in den letzten 60 Sekunden        alle 15.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0264880657196