Forum: Mikrocontroller und Digitale Elektronik Rs232 und uc


von Pierre G. (bqube)


Lesenswert?

Moin Moin ich würde gern von meinem Computer aus über die rs232 
Schnittstelle Daten an meinen atmega16 schicken ob Hex oder Binär ist 
egal. In google hab ich schon Infos für vb6 gefunden aber kommt damit 
nicht zu recht. Hab eine Form mit einem button gemacht und soll sobald 
ich drauf drücke 8 Bit oder halt hex senden nur weiß ich leider nicht 
wie ich den Code schreiben muss hat da jemand vielleicht ein bespiel 
oder kann mir darbringt helfen.

MfG bqube

von Ralf (Gast)


Lesenswert?

1. Hast du auch die Hardware passend aufgebaut mit RS232-Pegelwandler?
2. Hex/Binär/etc. ist alles das gleiche!!! Nur die Schreibweise ist 
anders -> Zahlendarstellung nachschlagen
3. Der folgende Link ist zwar für .NET, aber das meiste sollte auch für 
VB6 passen (ansosten... richtig, Google füttern):
http://msdn.microsoft.com/de-de/library/30swa673.aspx
4. Beispiele sind im Link aus 3) enthalten.

Ralf

von memristor (Gast)


Lesenswert?


von PC&VB (Gast)


Lesenswert?

Pierre Gnauck schrieb:
> Hab eine Form mit einem button gemacht und soll sobald
> ich drauf drücke 8 Bit oder halt hex senden nur weiß ich leider nicht
> wie ich den Code schreiben muss

Das Problem kannst du unabhängig vom µC behandeln, weil es erstmal darum 
geht, vom PC aus serielle Daten auszugeben.
Darum würde ich eher in einem PC/VB6 Forum fragen.

von Pierre G. (bqube)


Lesenswert?

Danke Ralf

Hardware seitig ist alles da hab auch schon Daten zum pc geschickt Per 
hyperterminal könnt ich auch meine Daten einsehen, von einem uc zum 
anderen schicken hat auch funtioniert aber halt mim pc hängt es noch.

Dein Link ist gut was bei google steht auch aber halt sehr fachlich ich 
kann mit vb nicht viel bis auf bissel was mit Textboxen und Buttons und 
wollt nun nicht noch eine Sprache anfangen zu lehrnen.

Damit man versteht wo für das ist:
Ich habe ein Computersystem für mein Auto gebaut und nun möchte ich als 
weiteres eine Relais Platine mit meinem Computer ansteuern.

Zu Zeit wird dies immer über Taster realisiert

MfG bqube

von Klausi (Gast)


Lesenswert?

ich find mit Python und dem Modul http://pyserial.sourceforge.net/
geht es recht Easy kannst dir ja mal anschauen.

von Martin (Gast)


Lesenswert?

Bevor du Daten hin und her schiebst solltest du dir den Unterschied 
zwischen Hexadezimal, Binär und Dezimal aneignen. Vorher hat alles 
andere keinen Sinn.

Weil du etwas von Autos schreibst ... Wo ist der Unterschied
zwischen 1 Meile mit dem Auto fahren oder 1,609344km mit dem Auto 
fahren?

von Pierre G. (bqube)


Lesenswert?

Den Unterschied kenn ich aber es ist egal weil ich das Programm einfach 
dann auf den wert änder

von Alf (Gast)


Lesenswert?

Pierre Gnauck schrieb:
> Den Unterschied kenn ich aber es ist egal weil ich das Programm einfach
> dann auf den wert änder

Du hast nichts verstanden.

Wenn Du binär ein Byte seriell überträgst, ist es auch nur ein Byte. 
Wenn Du es in Hex-Darstellung übertragen willst, kommt nur ASCII in 
Frage und dann sind es mind. 2 Byte (zB. 3E) oder 4 Byte der Form 0x3E.

In binärer Form sind mind. 8 Byte als ASCII erfoderlich, zB. 01101001.

von Erich (Gast)


Lesenswert?

Du solltest zunächst mit einem einfachen Terminalprogramm am PC üben, 
z.B. http://elmicro.com/de/occonsole.html

von Karl H. (kbuchegg)


Lesenswert?

Pierre Gnauck schrieb:
> Den Unterschied kenn ich

Der springende Punkt ist aber: Es gibt keinen Unterschied. Die Strecke 
ist immer gleicht weit, egal ob ich hinten als Einheit Miles oder 
Kilometer drannschreibe.

Aber darum gehts eigentlich nicht. Dein Problem ist ja ein anderes:

> Dein Link ist gut was bei google steht auch aber halt sehr
> fachlich ich kann mit vb nicht viel bis auf bissel was mit
> Textboxen und Buttons und wollt nun nicht noch eine Sprache
> anfangen zu lehrnen.

Darum wirst du aber nicht herumkommen. Und soooooo kompliziert ist das 
nun auch wieder nicht.

von Pierre G. (bqube)


Lesenswert?

Danke für eure Mühe aber damit komm ich Net weiter weil ich zu wenig 
Grundwissen über vb hab ;)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Pierre Gnauck schrieb:
> aber damit komm ich Net weiter weil ich zu wenig
> Grundwissen über vb hab

Dann eigne Dir das an. Das haben hunderttausende anderer vor Dir auch 
geschafft, und mehr Ahnung als Du hatten etliche von denen auch nicht.

von Karl H. (kbuchegg)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Pierre Gnauck schrieb:
>> aber damit komm ich Net weiter weil ich zu wenig
>> Grundwissen über vb hab
>
> Dann eigne Dir das an. Das haben hunderttausende anderer vor Dir auch
> geschafft, und mehr Ahnung als Du hatten etliche von denen auch nicht.

Noch dazu, wo das in VB nicht wirklich schwer ist. Ist doch eh schon 
(fast) alles so vorbereitet, dass man sich 80% zusammenklicken kann.

von Pierre G. (bqube)


Lesenswert?

So ich habe es nun endlich geschaft mit VB über rs232 was zu senden 
jetzt hab ich ein anderes problem naja nicht problem ich sag mal so ich 
versteh nich was da vor sich geht ???

Hab mit Bascom ein Programm geschrieben was einfach 12345 peer RS232 
schickt
habe mir ein Testboard dafür zusammengebaut mit Max232

ich brauch ja nur bin 3 4 für die übertragung funtioniert aber nicht nun 
hab ich zum Testen eine LED zwischen die beiden pinne gelötet um zu 
sehen ob überhaupt was raus kommt da ich kein oszi hab.

Wenn ich nun versuch die daten zu schicken geh das nur wenn die LED 
dazwischen ist aber warum ??

Mfg Bqube

von Pierre G. (bqube)


Lesenswert?

Ich meine PIN 2 und 3

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Pierre Gnauck schrieb:
> jetzt hab ich ein anderes problem naja nicht problem ich sag mal so ich
> versteh nich was da vor sich geht ???

Du hast vor allem das Problem, daß Du Dein Problem nicht beschreiben 
kannst. Vielleicht bist Du ja heute nüchtern und kannst Dir Dein 
Geschreibsel nochmal ansehen; meinst Du wirklich, daß das ein 
außenstehender entwirren kann?

von J. Baudot (Gast)


Lesenswert?

Pierre Gnauck schrieb:
> ich brauch ja nur bin 2 3 für die übertragung funtioniert aber nicht nun
> hab ich zum Testen eine LED zwischen die beiden pinne gelötet um zu
> sehen ob überhaupt was raus kommt da ich kein oszi hab.

Was tust du da? Was meinst du, zwischen was für Signale du da die LED 
gelötet hast?

> Wenn ich nun versuch die daten zu schicken geh das nur wenn die LED
> dazwischen ist aber warum ??

Wohin kannst du die Daten nur schicken, wenn die LED dazwischen ist.

Rufus hat wohl Recht...
Und nicht nur dein Geschriebenes ist wirr.

von Volker S. (volkerschulz)


Lesenswert?

Ich kann zwar auch nur qualifiziert raten, aber genau das versuche ich 
mal! ;)

Mit "PIN 2 und 3" meint er bestimmt Pins 2 und 3 der seriellen (9-pol. 
SUB-D) Schnittstelle am PC, also RxD und TxD. Diese beiden Leitungen hat 
er nun (hoffentlich gekreuzt) mit RxD und TxD auf Pegelwandlerseite 
verbunden. Und wundert sich nun (mit an Sicherheit grenzender 
Wahrscheinlichkeit aufgrund Fehlender Signalmasse) dass keine 
Datenuebertragung moeglich ist.

Mein Tipp lautet daher: Man benoetigt drei Leitungen fuer die 
bidirektionale Kommunikation: RxD, TxD und GND (also Pins 2, 3 und 5 
PC-seitig).

Volker

von Pierre G. (bqube)


Lesenswert?

Servus also ich war schon nüchtern ;) das problem war die uhrzeit und 
das stundenlange versuchen.
Also zu meiner Hardware:
Pollin Evo Board 2 ist mit einem atmega8
Altesnotebook als Terminal
Selbstgebautes Nullmodem Kabel ( wurde getestet funtioniert)

Mit bascom hab ich ein programm geschrieben das irgend einen Text am uc 
ausgibt:

Problem oder was mich halt verwirrt wenn ich an der sub d 9 poliegen 
buchse (auf dem pollin board) eine Led egal wie rum zwischen pin 2 und 3 
schalte dann Funtioniert die übertragen Problemlos, bau ich diese led 
wieder aus kommt zwar ein signal raus aber der Pc kann damit nichts 
anfangen aber wieso ?

Mfg bqube

von Volker S. (volkerschulz)


Lesenswert?

Pierre Gnauck schrieb:
> [...]
> Selbstgebautes Nullmodem Kabel ( wurde getestet funtioniert)

Wie aufgebaut? Also welche Adern wie verbunden? Wie getestet?


> [...] bau ich diese led
> wieder aus kommt zwar ein signal raus aber der Pc kann damit nichts
> anfangen aber wieso ?

Und wie genau sieht dieses Signal aus?


Volker

von Pierre G. (bqube)


Lesenswert?

Welche adern das sind kann ich dir aus dem kopf nicht sagen war ein Plan 
aus dem internet... Gestet hab zwei rechner mit meinem kabel verbunden 
und einen text uber die rs232 versendet und diese ist richtig 
angekommen. Deswegen geh ich davon aus das mein selbstgebautes kabel 
Funtioniert.

Das Signal einfacher Ascii code ich hab einfach mal Hallo peer Print 
Befehl versendet.

Mfg Bqube

von Volker S. (volkerschulz)


Lesenswert?

Pierre Gnauck schrieb:
> Welche adern das sind kann ich dir aus dem kopf nicht sagen war ein Plan
> aus dem internet... Gestet hab zwei rechner mit meinem kabel verbunden
> und einen text uber die rs232 versendet und diese ist richtig
> angekommen. Deswegen geh ich davon aus das mein selbstgebautes kabel
> Funtioniert.

Hat schon einen Grund dass ich frage: Wenn die (Signal-) Masse nicht 
korrekt verbunden ist, kann es durchaus funktionieren, muss es aber 
nicht. Vielleicht mal durchmessen?


> Das Signal einfacher Ascii code ich hab einfach mal Hallo peer Print
> Befehl versendet.

Ich wollte wissen, wie das elektrische Signal aussieht. Was meintest Du 
denn genau mit

>der Pc kann damit nichts anfangen

?


Volker

von Pierre G. (bqube)


Lesenswert?

Zum messen hab ich leider kein Oszi da hat das Kleingeld nicht mehr für 
gereicht deswegen kann ih dir das niht so genau sagen und auf die sache 
mit der led bin ich nur durxh zufall gekommen.
Das mit der masse muss ich dann mal überprüfen Pin 5 war das oder ?

Ich vermute mal das er nichts damit anfangen kann ... Auf dem gebiet bin 
ich absoluter neuling Komunikation uber rs232 ;)

Zum signal kann ich nur sagen Bascom (Print "hallo")

Mfg Bqube

von Volker S. (volkerschulz)


Lesenswert?

Pierre Gnauck schrieb:
> [...]
> Das mit der masse muss ich dann mal überprüfen Pin 5 war das oder ?

Ja, Pin 5.


> Ich vermute mal das er nichts damit anfangen kann ... Auf dem gebiet bin
> ich absoluter neuling Komunikation uber rs232 ;)

Dann beschreib' halt wie sich das aeussert. Du siehst einfach im 
Terminalfenster nichts?


> Zum signal kann ich nur sagen Bascom (Print "hallo")

Das ist etwas wenig fuer die fundierte Fehlersuche... ;)

Aber vielleicht ist es ja wirklich nur eine Kleinigkeit wie fehlende 
Masseverbindung oder falsche Porteinstellungen.

Volker

von Rudi D. (rulixa)


Lesenswert?

Pierre Gnauck schrieb:
> Zum messen hab ich leider kein Oszi da hat das Kleingeld nicht mehr für
> gereicht deswegen kann ih dir das niht so genau sagen und auf die sache
> mit der led bin ich nur durxh zufall gekommen.
> Das mit der masse muss ich dann mal überprüfen Pin 5 war das oder ?
>
> Ich vermute mal das er nichts damit anfangen kann ... Auf dem gebiet bin
> ich absoluter neuling Komunikation uber rs232 ;)
>
> Zum signal kann ich nur sagen Bascom (Print "hallo")
>
> Mfg Bqube

Basicprogramm brauchst du ja gar nicht. In Windows gibt es das 
Hyperterminal-Programm, das Zeichen senden kann.

Wenn du sie schon empfangen kannst, so musst du 8 Leds an ein Port am 
ATmega hängen und dann kannst du den Wert des gesendeten Bytes "sehen". 
Aber immer nur eines.
Wenn du an deinen ATmega ein Display anhängst dann ist es bequemer.
Beispiele gibt es genug. Wer suchet der findet. Es ist wirklich viel 
vorhanden! z.B. http://elektronik-labor.de/RS232/RS232.html
Da hast du gleich Basiswissen mit dabei.

LG Rudi

von Pierre G. (bqube)


Lesenswert?

Ich hoff doch mal das es nur ein Dummer fehler ist hab ja schließlich 
lang genug drann gessen mit Visal basic daten an die Rs232 zu schicken.

Ja es it dann so als würden keine daten am rechner ankommen obwohl sie 
ja versendet werden und wenn da nun wirklich die masse fehlt war es ja 
eine kleinigkeit ..... Aber was macht dann dir Diode simuliert die dann 
die fehlende masseverbindung oder wie muss ich mir das vorstellen.

Mfg bqube

von Dietrich L. (dietrichl)


Lesenswert?

Wenn das Kabel mit einer Verbindung zwischen 2 Rechnern funktioniert 
muss es ja nicht mit Deinem Pollin-Board gehen.

- Beim AVR-NET-IO z.B. ist eine Buchse (female, weiblich) eingebaut mit 
Pin2=TxD und Pin3=RxD.
- Bei einem PC ist es ein Stecker (male, männlich) mit Pin2=RxD und 
Pin3=TxD.

In dem Fall passt das Kabel schon mal mechanisch nicht an das Board, und 
wenn man es mit Adapter passend macht, stimmt die Pinbelegung nicht.

Also testweise mal Pin 2 und 3 vertauschen!

Gruß Dietrich

von Pierre G. (bqube)


Lesenswert?

Ja du kannst ja recjt haben alles gut aber was ändert die led dann was 
verändert die das ea aufeinmal funtioniert ?

von Rudi D. (rulixa)


Lesenswert?

zeichne einmal die Schaltung auf, dann können wir helfen.

Jedenfalls ist ein LED für 8 bit zu wenig.

von Pierre G. (bqube)


Lesenswert?

Ein Problem wenieger es war nur ein dreher in meinem Adapter jetzt 
versuch ich die ganze Zeit einen Schritt weiter zu kommen aber ich glaub 
mein Code hat einen Fehler oder ich denk ein wenig zu seltsam.

Denn mir sagt Bascom es gibt immer wieder einen fehler in mein IF 
anweisung..
1
$regfile = "m8def.dat"
2
$crystal = 8000000
3
$baud = 9600
4
Config Portd = Output
5
Dim X1 As Bit
6
7
2:
8
Waitms 500
9
Print "ICH BIN EIN TEST"
10
Input "ICH" , X1
11
Input X1
12
If X1 = 1
13
Goto 1
14
Else
15
Goto 2
16
End If
17
1:
18
Portd.5 = 1
19
End

Das programm soll einfach den wert der peer RS232 ankommt vergleichen 
wenn er dann übereinstimmt soll das Programm weiter laufen in dem fall 
die LED EIN schalten aber es klappt irgendwie nicht warum auch immer.

Habt ihr eine idee

Mfg Bqube

von Der Äser (Gast)


Lesenswert?

Schon mal was von interrupts und overlay gehört ?
Geh Schafe hüten, oder bist du dazu auch zu dusselig?

Don't Feed The l Troll !

von Der Äser (Gast)


Lesenswert?

Was ins das für'n Deutsch hier .
Bisdu legateniker ödet was dub bissdu ?
Erbermlich echt!

von Pierre G. (bqube)


Lesenswert?

Schonmal was von LRS gehört ausserdem sollte man sich nicht über die 
Probleme andere Menschen lustig machen stell dir vor du bekommst von 
heut auf morgen Demenz und jemand mit den gleichen Charakterlichen zügen 
wie du sie zeigst lacht dich aus !!! Wie würdest du das finden denk mal 
über deine Aussage nach.

Mfg bqube

von spess53 (Gast)


Lesenswert?

Hi

>Was ins das für'n Deutsch hier .

So richtig fit bist du aber auch nicht. Allerdings tut das, was Pierre 
von sich gibt, schon manchmal richtig weh.

MfG Spess

von Volker S. (volkerschulz)


Lesenswert?

Pierre Gnauck schrieb:
> Das programm soll einfach den wert der peer RS232 ankommt vergleichen
> wenn er dann übereinstimmt soll das Programm weiter laufen in dem fall
> die LED EIN schalten aber es klappt irgendwie nicht warum auch immer.

Ich programmiere nicht mit BASCOM (habe ich auch nie und werde ich nie), 
aber es faellt auf dass das erste INPUT irgendwie ueberfluessig ist und 
X1 wohl eher ein Byte-Array und kein Bit sein sollte... Ohne es genau zu 
wissen, behaupte ich aber mal, dass Du fertige Code-Beispiele fuer die 
serielle Kommunikation mit Google finden koenntest.


spess53 schrieb:
> So richtig fit bist du aber auch nicht. Allerdings tut das, was Pierre
> von sich gibt, schon manchmal richtig weh.

Hehe... Wo is denn hier der "Like-Button"?


Volker

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.