mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 2 digitale Eingänge via RS232 übermitteln


Autor: Ruedi A. (alruma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Ich möchte 2 digitale Eingänge via RS232 übermitteln.

Vorgeschichte:
Es existiert ein sehr gut funktionierendes Zeitmessprogramm, das von 
einer externen Zeitmessuhr via RS232 die Information K1 (start) und die 
Zeit , oder K2 (ziel) und die Zeit, übermittelt bekommt. Das Programm 
holt diese Informationen via Interrupt von der Schnittstelle und 
verarbeitet sie. Da ich dieses Zeitmessprogramm unbedingt 
weiterverwenden muss und will, ist die Kommunikation via RS232 ein Muss.

Ziel:
Nun möchte ich auf die externe Zeitmessuhr verzichten und die interne 
Zeit des Laptop dazu nutzen. Dazu brauche ich ein Interface, das 2 
digitale Eingänge hat (K1 und K2) sowie eine serielle Schnittstelle 
RS232 (9600 Baud N81). Wenn einer der Eingänge von +5V (log. 1) auf 0V 
(log. 0) wechselt, muss via RS232 sofort ASCII 1 für K1 oder ASCII 2 für 
K2 gesendet werden.
Das Zeitmessprogramm ist soweit angepasst, dass auf einen Interrupt der 
ser. Schnittstelle das gesendete Datenbyte ausgelesen wird. ASCII 1 wird 
einer Startzeit, und ASCII 2 einer Zielzeit zugeordnet und 
weiterverarbeitet.
Wichtig ist noch folgendes: Wenn gerade ein Ereignis (ASCII 1 oder ASCII 
2) via RS232 übermittelt wird, und währenddessen der andere Kanal (oder 
der gleiche nochmals) anspricht, so müssen diese Ereignisse 
anschliessend raschmöglichst auch übermittelt werden.

Vielen Dank für Hilfe und Tipps zur Realisierung.
Gruss Ruedi

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ruedi A. schrieb:
> .... Dazu brauche ich ein Interface, das 2
> digitale Eingänge hat (K1 und K2) sowie eine serielle Schnittstelle
> RS232 (9600 Baud N81). ...

Hallo Ruedi,

das geht mit jedem Microcontroller, auch mit einem im 8poligen Gehäuse: 
GND,VCC,2 x Quarz, K1,K2, TxD, dazu Reset wenn nötig. Den Quarz würde 
ich verwenden, um Problemen mit der Genauigkeit der Baudrate gleich aus 
dem Weg zu gehen, dazu brauchst du noch eine Stromversorgung und eine 
Umsetzung auf RS232C, z.B. MAX232 oder ähnliche (der macht auch die 
nötigen +- 10 V). Der Prozessor sollte ein UART haben, obwohl das auch 
per Software geht, ist aber mehr Arbeit. Natürlich geht auch ein 18 
poliger PIC oder Ähnliches, das ist kein Kostenfaktor, wenn du nicht 
Tausende davon brauchst.

Entscheidender ist, womit du das Programm erstellst (für die meisten 
gibt es kostenlose Software) und wie du den Chip programmierst. Für PIC 
und AVR gibt es preisgünstige Möglichkeiten, nur als Beispiel.

Gruss Reinhard

Autor: Ruedi A. (alruma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Reinhard,
Vielen Dank für die Info,
Ich habe gerade mit einem Lernpaket Arduino C (ATMega168) von meinem 
Sohn einen Versuch gemacht, und hat prima geklappt!!
Da mein Sohn jedoch für seine Diplomarbeit einen PIC18F13K50 einsetzen 
wird, werde ich dann seine HW für meine Zwecke "missbrauchen".

Ich bin wirklich total überrascht und erstaunt, wie komfortabel und 
einfach man mit solch "billigen" Dingern (nicht negativ gemeint) sofort 
tolle Projekte realisieren kann.

Gruss Ruedi

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.