Veröffentlicht 17. Februar 200520 j HiHo, hab ein mehr oder minder grosses problem ... ich hab nen iso reader (ist ne art kartenleser) am seriellen port haengen ... leider bekomm ich es ned gebacken, den anzusprechen. Unter Linux funktioniert zwar alles (file pointer auf /dev/ttyS0, dann mit read und write) aber die kartennummer wird bei 3 von 4 karten nicht vollstaendig uebertragen. Die Kartennummer besteht aus 6 Hexbyte, d.h. z.b. 00 01 1E 1E CF B1. Der Puffer, den ich mit fgets(...) beschreibe sollte dann mit 13 zeichen beschrieben sein, ist aber in 3 von 4 faellen nur mit 12 zeichen beschrieben ... Es koennte sein, dass die Daten in Ascii uebertragen werden und dabei was verloren geht. Aber eine binaer uebertragung hab ich net hinbekommen. Ich hab das ganze dann unter Windows 2000 probiert, allerdings funktionieren die kompletten dll's (alles mit vc++) nicht, daher geh ich grad mit nem dos c sample der firma an die geschichte ran. Ist allerdings sehr umfangreicher code, den ich nicht komplett bearbeiten will (brauch nur nen bruchteil davon). Am liebsten waere mir eine loesung fuer linux, aber eine fuer win2k tut es auch. D.h. ich braeuchte geteste beispiele etc. pp. google und google.groups hab ich alles schon durchforsch, aber wie gesagt, unter win2k laeuft so gut wie gar nix. danke schonmal im vorraus.
17. Februar 200520 j Evtl. liegt es daran, dass fgets, fread, etc. gepuffert sind. Versuche es einmal mit garantiert ungepufferten Funktionen (read bzw. _read bei VC++). ch hab das ganze dann unter Windows 2000 probiert, allerdings funktionieren die kompletten dll's (alles mit vc++) Was für DLLs? Unter Windows kannst Du ähnlich wie unter Linux mit der Funktion CreateFile einen Handle auf einen COM-Port öffnen.
17. Februar 200520 j hmmm ... das mit dem puffer koennte gut sein, stimmt. Obwohl es seltsam ist, dass eben bei einer karte alles ankommt und bei den anderen drei nicht ... ich hab verschiedene dll's im internet gefunden und auch von den demo quellen probiert ... das mit dem CreateFile ging zwar, aber nicht das lesen und schreiben ... danke
17. Februar 200520 j Kann das evt. auch einfach ein Handshakeproblem zwischen Schnittstelle und Leser sein ? Wie ist denn die Schnittstelle technisch konfiguriert ? Kannst Du nicht unter Linux einfach mal ein "cat" von der Schnittstelle versuchen oder musst Du das Teil erst pollen ?
17. Februar 200520 j cat geht, allerdings bekomm ich nur muell zurueck, da die hexbyte in ascii character umgewandelt werden ... was meinst du mit technisch konfiguriert? so long
17. Februar 200520 j technische konfiguration: bitrate, stopbits, datenwortlänge, übertragungs-protokol, etc. Daß der Zugriff mit einfachen File-I/O-Operationen was Brauchbares geliefert hat, dürfte eher Zufall sein.
17. Februar 200520 j es geht mir nicht darum etwas lesen zu können sondern um zu sehen dass die Anbindung ok ist. Wenn cat was bekommt kann man das ja in ein File umleiten und analysieren, speziell ob es komplett ist
18. Februar 200520 j hmm ... an den verbindungseinstellungen hab ich nix gemacht. Der Reader verlang 9600 Baud, No Parity und keine flusskontrolle ... ich koennte das mit der termios.h einstellen, allerdings komm ich mit der net klar/geht net. wo seh ich, wie das device konfiguriert ist? thx
18. Februar 200520 j Hallo, schau mal hier: http://forum.fachinformatiker.de/showthread.php?t=60643&highlight=serielle Nic
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.