Also...
Die Verbindung zwischen den PC --> µC --> µC erfolgt durch eine einfache serielle Schnittstelle (19200 Baud etc, etc.)...
Ok, da du schon soweit warst, kommt hier der lustige Teil, das Protokoll:
4 Bites lang:
1. COMMAND
2. ID
3. DATA
4. CHECKSUM
(Nebenbemerkung: DAS DING IST GEIL)
Es arbeitet "fast" wie Netzwerk: empfange Daten --> gucke ob sie ganz sind --> gucke wem sie gehören --> wenn nicht mir --> schicke sie weiter
Also, ab Punkt 4.4 geht es richtig los, aber ich glaube du kannst lesen
....
Humm... Das in VB realisieren... Naja, würde eher C nutzten... aber nur ne Meinung...
Code:
void Send_CMD(int command, int ID, int DATA)
{
char send_buf[3]; //Wo wir unseren befehl hineintun...
send_buf[0]=command;
send_buf[1]=ID;
send_buf[2]=DATA;
send_buf[3]=command^ID^DATA; //Erstellen der Cheksumme...
RC323.Send(send_buf,sizeof(send_buf); //senden nicht vergessen :D
}
void rec_answer(const char *buffer, const char *answer)
{
switch((int)buffer[0]) // Typecast (ist nicht ganz sauber, aber es sollte gehn)
{
case 255: // Jaja, "Huston,-wir-haben-ein-Problem" Antwort....
sprintf(answer,"WTF!!! Unit %d didn't understand your command (%d, DATA: %d)!!!",(int)buffer[1],(int)buffer[0],(int)buffer[2]);
break;
//[...]
}
}
void rec()
{
char rec_buf[4];
char temp[256];
receive_RS323(&rec_buffer,sizeof(rec_buffer);
rec_answer(rec_buf, &temp);
}
Na gut... so würde es (ca.) in C aussehen... Da ich aber grad keine Lust hab das durch nen Complier zu jagen (vor allem, weil grad keiner auf dieser Maschine installiert ist ), kann ich nicht für die Fehlerlosigkeit garantieren...
Ansonsten: Happy coding
MfG
Mobius
P.S.: Wenn du es dir ganz bequem machen willst, besorg dir nen QBasic sompiler und erstelle das Beispiel, welches am Ende der Datei reinkopiert ist
Lesezeichen