Alter Hut Serielle schnittstelle komme nicht weiter :-(
-
Serieller schrieb:
Und das ist die Grundlage des Programmierens...
Endlich jemand der das begreift *freu*
Serieller schrieb:
allerdings hat ihn noch keiner darauf hingewiesen, dass er nicht Bitweise sondern Byteweise liest. Zum Verständnis ist das vielleicht nicht ganz unwichtig.
Würde ich so jetzt nicht sagen:
junix schrieb:
com-cat schrieb:
Ich verstehe noch nicht den zusammen hang von:
1. das Bit was empfangen wird wo legt der Rechner es ab ?Die Bits werden im 16C550-Chip-Core des PCs gelagert, bis dier Chip das Byte für voll hält. Dann wird es in einen Puffer gelegt und das Betriebssystem holt das Byte ab. Du wiederum holst das Byte danna us diesem Puffer mit der ReadFile-Funktion...
-
hab es hingekriegt !!!! Hurra danke für die Hilfe!!!!!
-
Es gehört im allgemeinen zum guten Ton eine selbst gefundene Lösung zu posten, damit a) andere davon profitieren in Zukunft, b) damit erfahrerene Mitglieder die Lösung verifizieren können und evtl auch Warnungen aussprechen können...
-
Jo hab ich vergessen mußte erst mal ein paar fehler ausmerzen
DWORD ReceiveData(char* Data,int n) { DWORD NumberOfBytesRead=0; bool b= ReadFile(hCom,Data,n,&NumberOfBytesRead,0); // kein overlapped I/O if (!b) //ShowMessage("ReadFile"); //return NumberOfBytesRead; }void __fastcall TForm1::Timer1Timer(TObject *Sender) { const int BufSize = 112000; char Buffer[BufSize]; DWORD NumberOfBytesRead= ReceiveData(Buffer,BufSize); if (NumberOfBytesRead > 0) { AnsiString s; for (DWORD i=0;i<NumberOfBytesRead;i++) { s=s+Buffer[i]; Memo1->Lines->Add(Buffer); } }und noch mal Danke für die Hilfe

-
Das funktioniert so 100% nicht...