shad0w Geschrieben 17. Februar 2005 Geschrieben 17. Februar 2005 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. Zitieren
Bubble Geschrieben 17. Februar 2005 Geschrieben 17. Februar 2005 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. Zitieren
shad0w Geschrieben 17. Februar 2005 Autor Geschrieben 17. Februar 2005 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 Zitieren
charmanta Geschrieben 17. Februar 2005 Geschrieben 17. Februar 2005 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 ? Zitieren
shad0w Geschrieben 17. Februar 2005 Autor Geschrieben 17. Februar 2005 cat geht, allerdings bekomm ich nur muell zurueck, da die hexbyte in ascii character umgewandelt werden ... was meinst du mit technisch konfiguriert? so long Zitieren
M.A.Knapp Geschrieben 17. Februar 2005 Geschrieben 17. Februar 2005 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. Zitieren
charmanta Geschrieben 17. Februar 2005 Geschrieben 17. Februar 2005 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 Zitieren
shad0w Geschrieben 18. Februar 2005 Autor Geschrieben 18. Februar 2005 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 Zitieren
nic_power Geschrieben 18. Februar 2005 Geschrieben 18. Februar 2005 Hallo, schau mal hier: http://forum.fachinformatiker.de/showthread.php?t=60643&highlight=serielle Nic Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.