PC - Mikrocontroller Komunikation ???

Gast #502670
Lesenswert?
• ▲
▼
Hallo,

ich habe ein VB6 PC Programm, das über RS232 mit meinem ATmega 
komunizieren soll, dabei einen externen EEProm beschreibt.

Wie macht man das normalerweise, wenn man feststellen will,
ob die Hardware Verbindung mit dem PC hat?

Derzeit sende ich ein Byte 'P', wenn ich das PC Programm starte.
Empfangt der ATmega das Byte'P', sendet er eine Rückantwort 'P',
und der PC "weiß" dann, das die Hardware angeschlossen ist.
Bekommt der PC keine Antwort, ist keine Hardware angeschossen.

Nachteil dabei ist, das wenn eine Verbindung erkannt,
das eine Verbindung besteht.
Wird die Hardware angeschlossen, nachdem das PC Programm gestartet 
wurde,
wird es als nicht verbunden erkannt.

Danke im voraus,

Gruß Toby
#502676
Lesenswert?
• ▲
▼
Du könntest auch im Stecker eine Brücke reinmachen oder einen Eingang 
der Schnittstelle mit der Versorgungsspannung des Gerätes sezten.

Im ersten Fall kannst du nur feststellen ob dein Gerät eingesteckt ist 
und im zweiten weißt du gleich ob dein Gerät eingeschaltet ist.

Wenn das Gerät nach dem starten des Programms ohne Programmneustart auch 
erkannt werden soll dann musst du halt alle 15/30sec nachkucken obs 
angeschlossen ist.
Gast #502846
Lesenswert?
• ▲
▼
Jeder Partner (PC-Programm und µC) muss beim Start ein 
Hallo-ich-bin-da Signal an den anderen senden. Wenn dieser antwortet, 
wissen beide, das die Verbindung steht.

Das heisst, nicht nur Dein Programm muss ein (z. B.) "P" senden, sondern 
auch der µC muss ein (z. B.) "C" senden, wenn er gestartet wird.
Gast #502854
Lesenswert?
• ▲
▼
>Das heisst, nicht nur Dein Programm muss ein (z. B.) "P" senden, sondern
>auch der µC muss ein (z. B.) "C" senden, wenn er gestartet wird.

Wenn der PC ein "P" sendet und auch wieder empfängt, ist die 
Kommunikation ja vorhanden.
Für solche Sachen bietet sich ein Hardware-Handshake per DTR etc an. 
Dann weiß man zumindest, dass der Partner da ist.
Gast #502954
Lesenswert?
• ▲
▼
>Wenn der PC ein "P" sendet und auch wieder empfängt, ist die
>Kommunikation ja vorhanden.
>Für solche Sachen bietet sich ein Hardware-Handshake per DTR etc an.
>Dann weiß man zumindest, dass der Partner da ist.

Ja, aber wenn der PC ein "Po" sendet und nichts empfängt, dann ist keine 
Kommunikation vorhanden. Wenn dann aber der µC angeschlossen und 
eingeschaltet wird, sendet er ein "C" und empfängt das ACK und schon ist 
die Kommunikation da.

Wenn jeder beim Einschalten ein "Hallo" sendet und immer auf ein "Hallo" 
antwortet, dann ist es egal, wer wann eingeschaltet wird. Nach "Hallo" 
und ACK ist eine Verbindung da. Und das ganze ohne Hardware-Handshake.

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.