Forum: Mikrocontroller und Digitale Elektronik PC - Mikrocontroller Komunikation ???


von Tobias Tetzlaff (Gast)


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

von Karl-j. B. (matrixman)


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.

von tastendrücker (Gast)


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.

von Rahul, der Trollige (Gast)


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.

von tastendrücker (Gast)


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.

von tastendrücker (Gast)


Lesenswert?

edit:
... wenn der PC ein "P" sendet ...

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.