RS232 Asynchron ansteuern
-
- Beiträge: 340
- Registriert: Di 12. Sep 2006, 08:57
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Kontaktdaten:
RS232 Asynchron ansteuern
Hallo Leute.
Hat jemand von euch eine Idee, wie man die RS232 asynchron mit Lazarus ansteuern kann?
Ich weiß, ich habe schon mal einen ähnlichen Thread erstellt, aber keine hilfreiche Antwort bekommen.
Das Problem: CreateFile(); funktioniert in Lazarus nicht. Ich habe bereits einige Versuche erprobt,
aber weder die Lösung mit der inpout32.dll noch die mit der io.dll (google) funktioniert. Auch Synaser kann mir nicht hefen, da asynchroner Zugriff benötigt wird...
Ich will einen Atmel ATMEGA 8 ansteuern, um mit ihm zu kommunizieren.
Jemand ne Idee?
Hat jemand von euch eine Idee, wie man die RS232 asynchron mit Lazarus ansteuern kann?
Ich weiß, ich habe schon mal einen ähnlichen Thread erstellt, aber keine hilfreiche Antwort bekommen.
Das Problem: CreateFile(); funktioniert in Lazarus nicht. Ich habe bereits einige Versuche erprobt,
aber weder die Lösung mit der inpout32.dll noch die mit der io.dll (google) funktioniert. Auch Synaser kann mir nicht hefen, da asynchroner Zugriff benötigt wird...
Ich will einen Atmel ATMEGA 8 ansteuern, um mit ihm zu kommunizieren.
Jemand ne Idee?
Grüße, Antrepolit
care only if your os is really burning
care only if your os is really burning
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: RS232 Asynchron ansteuern
RS-232 ist definitionsgemäß asynchron !?!?!?Antrepolit hat geschrieben:Auch Synaser kann mir nicht hefen, da asynchroner Zugriff benötigt wird...
SynaSer ist doch genau dafür da. Was geht denn mit Synaser nicht ?
-Michael
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Sone komische Antwort wenn man so rangeht gibts überhaupt keine Synchronen Schnittstellen. Schnittstellen haben keine Merkmale wie Synchron/Asynchron. Und genau aus diesem grund kann man auch keine Asynchone Kommunikation BRAUCHEN um auf eine Schnittstelle zuzugreifen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Siehe http://de.wikipedia.org/wiki/RS-232" onclick="window.open(this.href);return false;: "Die Datenübertragung erfolgt asynchron. ..."Christian hat geschrieben:Sone komische Antwort wenn man so rangeht gibts überhaupt keine Synchronen Schnittstellen. Schnittstellen haben keine Merkmale wie Synchron/Asynchron. Und genau aus diesem grund kann man auch keine Asynchone Kommunikation BRAUCHEN um auf eine Schnittstelle zuzugreifen.
Natürlich gibt es synchrone Schnittstellen, die heißen aber nicht RS-232 (sondern zum Beispiel HDLC, wenn sie elektrisch ähnliche Specs wie RS-232 haben).
-Michael
-
- Beiträge: 340
- Registriert: Di 12. Sep 2006, 08:57
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Kontaktdaten:
Mein Problem ist, dass ein ATMEL MicroController keinen Synchron-Takt besitzt, anhand dessen die Übertragung der Daten synchronisiert wird. Das nennt sich auch UART.
Ich brauche nur ein dummes, kleines Beispiel, aber eines das funktioniert. AUf meiner Suche habe ich mit Google viele gefunden, aber keine, die zum Erfolg führen. Ich benutze WIndows, nicht Linux, sonst wäre es wohl einfacher, aber ich muss mit Windows arbeiten.
Ich habe eine Baudrate von 9600, 8 Datenbits und ein Stoppbit. Mittels Putty kann ich zum Beispiel problemlos mit dem Microcontroller kommunizieren, muss es aber für in Abschlussprojekt ein wenig perfektionieren, also kein Putty.
Nochmals: EIn Beispiel, mit dem ich die COM2 "abhören" kann unter Windows?
Ich brauche nur ein dummes, kleines Beispiel, aber eines das funktioniert. AUf meiner Suche habe ich mit Google viele gefunden, aber keine, die zum Erfolg führen. Ich benutze WIndows, nicht Linux, sonst wäre es wohl einfacher, aber ich muss mit Windows arbeiten.
Ich habe eine Baudrate von 9600, 8 Datenbits und ein Stoppbit. Mittels Putty kann ich zum Beispiel problemlos mit dem Microcontroller kommunizieren, muss es aber für in Abschlussprojekt ein wenig perfektionieren, also kein Putty.
Nochmals: EIn Beispiel, mit dem ich die COM2 "abhören" kann unter Windows?
Grüße, Antrepolit
care only if your os is really burning
care only if your os is really burning
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Du verwechselst da grundsätzliche Sachen.
Synchron/Asynchron bei einer Software Schnittstelle bezeichnet das du darüber informiert wirst wenn neue Daten vorliegen oder nicht.
RS232 bzw UART bzw USART bei einigen AVR´s sind immer Asynchron genauso wie die RS232 an deinem PC.
RS232/UART hat niemals einen Takt.
Du kannst also jedes belibige Beispiel zu Synaser und co nehmen das du findest. Wenn du einb klein wenig Pascal verstehst und dir meien Unit anschaust dann weisst du auch wie du die benutzen kannst. Sorry einfacher gehts nun wirklich kaum mehr.
Ein Beispiel bringt dich im Moment zwar weiter aber deswegen hast dus dann nicht verstanden.
Trotzallem kannst du die beispiele von Synapse problemlos verwenden. Ich kommuniziere damit seit jahren auch mit AVR Controllern.
Synchron/Asynchron bei einer Software Schnittstelle bezeichnet das du darüber informiert wirst wenn neue Daten vorliegen oder nicht.
RS232 bzw UART bzw USART bei einigen AVR´s sind immer Asynchron genauso wie die RS232 an deinem PC.
RS232/UART hat niemals einen Takt.
Du kannst also jedes belibige Beispiel zu Synaser und co nehmen das du findest. Wenn du einb klein wenig Pascal verstehst und dir meien Unit anschaust dann weisst du auch wie du die benutzen kannst. Sorry einfacher gehts nun wirklich kaum mehr.
Ein Beispiel bringt dich im Moment zwar weiter aber deswegen hast dus dann nicht verstanden.
Trotzallem kannst du die beispiele von Synapse problemlos verwenden. Ich kommuniziere damit seit jahren auch mit AVR Controllern.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
UART = "Universal Asynchronous Receiver and Transmitter"Antrepolit hat geschrieben:Das nennt sich auch UART.
Also Asynchron fast sicher kompatibel zu RS232.
USART = "Universal Synchronous and Asynchronous Receiver and Transmitter"
Kann man per Software auf Asynchron und auf Synchron (z.B. HDLC) schalten.
Synchron kann eine Takt-Leitung haben, muss aber nicht. Bei entsprechend gebautem Protokoll (das genügend Bitwechsel in auf der Leitung produziert) kann (meist eine Hardware) den Takt "rückgewinnen".
-Michael
-
- Beiträge: 340
- Registriert: Di 12. Sep 2006, 08:57
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Kontaktdaten:
@MSchnell: Deine "Weisheiten" in Ehre, aber was bringt mir das? Ist es nicht nur überflüssig, dies zu erwähnen?
Weißt du, was ein ATMEGA8 ist? Ich habe UART, und das will ich nutzen. Zitate von WIkipedia
finde ich noch gerade so selbst, trotzdem danke.
Meine Hardware muss
keinen Takt rückgewinnen; Der Atmega sendet bereits. Ich will nur die RS232 abhören. Ich will quasi
"Createfile(handle,"com2")" machen. Gibt es einen Lazarus-Kompatiblen Ersatz für das CreateFile?
Vermutlich nicht, sonst hätte Christian nen Wink in die richtige Richtung gegeben.
Falls jemand einen Weg findet: hier ist der Thread. Createfile oder nicht Creatfile. Das ist hier die Frage.
Wer weitere Zitate in Wikipedia findet, darf sie behalten.
Weißt du, was ein ATMEGA8 ist? Ich habe UART, und das will ich nutzen. Zitate von WIkipedia
finde ich noch gerade so selbst, trotzdem danke.

keinen Takt rückgewinnen; Der Atmega sendet bereits. Ich will nur die RS232 abhören. Ich will quasi
"Createfile(handle,"com2")" machen. Gibt es einen Lazarus-Kompatiblen Ersatz für das CreateFile?
Vermutlich nicht, sonst hätte Christian nen Wink in die richtige Richtung gegeben.
Falls jemand einen Weg findet: hier ist der Thread. Createfile oder nicht Creatfile. Das ist hier die Frage.
Wer weitere Zitate in Wikipedia findet, darf sie behalten.
Grüße, Antrepolit
care only if your os is really burning
care only if your os is really burning
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Du kannst unter Windows natürlich auch CreateFile verwenden ich versteh nur nicht was daran so schwirig ist sich mal die Synapse Doku anzusehn und zumindest zu versuchen selbst ne Lösung zu finden wenn du ein Pascal Tuturial durchgearbeitet hast wie ichs dir empfohlen hab und mal in die Synapse Hilfe geschaut hast und nen IQ > 45 hast sollte das kein Problem darstellen. Sobald ich auch nur nen Ansatz von Programmierung seh werd ich dir auch weiterhelfen, aber ohne den Willen selbst was zu erreichen hab ich da kein Bock drauf. Wir haben hier schon n paar leute die "offentlich Programmieren" und in den Delphi Foren is das gang und gebe aber ich find das zum kotzen. Wenn jemand was programmieren will soll ERs auch tun und nicht andere für sich arbeiten lassen und hinterher erzählen "schaut mein Werk"
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Doch, doch, die USARTs der (Mega) AVRs kann man synchron betreiben. Bei einigen Derivaten kann man den USART zusätzlich noch im Master SPI Mode nutzen. Man hat dann also noch einen zweiten SPI Bus. Du meintest vielleicht die UARTs der alten AT90xx AVRs? Die ließen sich tatsächlich nicht synchron betreiben.Christian hat geschrieben:Die avr USARt kann man aber nicht auf synchron umschalten, und Jay ist jetzt sicher vollends verwirrt.
Gruß, Bernd.