Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Grüss Dich Thomas, > > der C-Quellcode sieht ja vielversprechend aus und > muss "NUR NOCH" angepasst werden. Hier ein paar > erste Anmerkungen: > > > > > > printf("konstante bytes: %i\n", length); > > printf("VMC-Worte: %i\n", length); > > //length = htons(length); > > write(sfd, &length, sizeof(long int)); > > read(sfd, &buf, sizeof(char)); > > > > > Ich denke die Variable length sollte byteweise > gesendet werden und dann sollte jedesmal > das Echo abgefragt werden. Damit ist es dann > auch möglich Übertragungsfehler festzustelln. > l0 = lenght % 256; > l1 = (l0 / 256) % 256; > l2 = (l1 / 256) % 256; > l3 = (l2 / 256) % 256; > write(sfd, &l0, 1); > read(sfd, &buf, 1); > if (l0 != buf) ...; > usw. l1 bis l3 übertragen ... > > > > > buf[5]='\0'; > > printf("echo: %s\n", buf); > > write(sfd, &length2, sizeof(long int)); > > > siehe oben ... > > > > > > buf[0] = '\0'; > > i = 0; > > ch = 1; > > > > > > > > > //send program > > while(read(fd, &ch, sizeof(char)) > 0) > > { > > if(ch == 32) > > > Hier wird nur nach dem Blank geprüft. Es sollte aber > auch der Zeilenumbruch berücksichtig werden. > > > > > { > > ch = atoi(buf); > > > > > ch muss oben als eine int - Variable deklariert sein! > also z. B. mit chint = atoi(buf); > > > > > printf("%d\n", ch); > > write(sfd, &ch, sizeof(char)); > > > > chint0 = chint % 256; > chint1 = (chint0 / 256) % 256; > weiter byteweise übertragen und Echo abfragen siehe oben. > > > > > ch = 0; > > > > i = 0; > > buf[i] = '\0'; > > } else { > > buf[i] = ch; > > ch = 0; > > i++; > > buf[i] = '\0'; > > } > > printf("loop\n", ch); > > } > > return 0; > > } > > > > int main() > > { > > //Stream zu /dev/ttyS0 öffnen > > int comport = open_port("/dev/ttyS0"); > > sendprog("melody.c2p.vmc", comport); > > } > > > Morgen kann ich dass zu Hause ausprobieren, aber > vielleicht bist Du ja schneller und findest die > übrigen Bugs ... > > Viele Grüsse und einen guten Start ins Wochenende > > > Markus