Cristiano Postat August 13, 2004 Partajează Postat August 13, 2004 Da, vad ca nu m-am exprimat prea clar. Ma refeream la functiile WinAPI pentru accesul la portul serial / paralel. Cred ca se poate accesa orice port I/O prin WinAPI, deoarece exista componenta pt. C++Builder care rescrie functiile outport / inport din vechiul dos.h ca sa mearga sub Windows, dar nu m-am documentat prea mult pentru asta. Oricum, si driverele trebuie scrise de cineva, asa ca o modalitate trebuie sa existe. Link spre comentariu
bogdanm Postat August 13, 2004 Partajează Postat August 13, 2004 Si n-a spus nimeni ca n-ar exista. Dar daca vrei sa te apuci de scris drivere ca sa accesezi porturile ... eu zic pas Componenta aia sigur foloseste undeva un driver pe Ring0, altfel nu are cum sa functioneze. Link spre comentariu
Cristiano Postat August 13, 2004 Partajează Postat August 13, 2004 Am intrat la adresa ta Cristiano dar nu pot sa citec\sc din exemple .Cind selectez unul imi apare "bine ai venit la Pico-Play" si altceva nimic.Acolo e o colectie de link-uri catre componente pentru C++Builder / Delphi. Daca te-a interesat vreuna de acolo si nu merge, cauta alternative.Edit: pt. bogdanm: asa e, dar cred ca am deviat destul, aici e forum de electronica . Link spre comentariu
Mar Postat August 16, 2004 Autor Partajează Postat August 16, 2004 Am incercat un driver de aici : http://www.programmersheaven.com/search ... leID=19967 si nu merge.Are citeva programe facute in C++Bulider si sint functionale.Cind vreau sa-mi fac eu un program nu vrea.Incearca-l si tu.Vezi ce zice. Link spre comentariu
Cristiano Postat August 16, 2004 Partajează Postat August 16, 2004 Sorry, pt. 2 saptamani sunt in concediu in .ro si nu am C++Builder acasa. Link spre comentariu
Vizitator Postat August 25, 2004 Partajează Postat August 25, 2004 daca lucrati cu borland builder/delphi uitati aici mie mi-a mers mai demult : http://www.specosoft.com/en/zlportio.html Link spre comentariu
Vizitator Postat Septembrie 6, 2004 Partajează Postat Septembrie 6, 2004 Ca o obs. generala :In Windows este descurajata folosirea functiilor de acces direct la port,si daca in Win9x, Me acest lucru e inca posibil pe platforma NT ( 2000, Xp ) incercarea de a scrie direct la porturi va duce la aparitia unei exceptii de tip "privileged instruction".Majoritatea mediilor de programare au eliminat din bibliotecile lor standard, odata cu trecerea la Windows, functiile specifice pentru a nu exista anomalia urmatoare : un program care foloseste functii standard printre care cele de I/O la nivel de port sa functioneze in Windows 9x , in schimb in windows NT sa determine o exceptie.In Windows9x functiile se pot rescrie astfel ( pe 32 bit ):C/C++char inport( short PortAddr ){ char retval; asm { mov dx,PortAddr in al,dx mov retval , al } return retval;}void OutPort(short PortAddr, char Databyte){ asm { mov al,Databyte mov dx,PortAddr out dx,al }}Daca primul impuls este acela de a cauta sa treceti peste aceasta limitare, trebuie sa stiti ca ea este totusi de bun simt, atat timp cat exista mai multe device-uri si mai multe programe ce pot rula simultan, deci sistemul de operare ( multitasking ) trebuie sa aiba controlul asupra lor asa cum are controlul asupra memoriei, discului, etc. In caz contrar riscati sa aveti surprize extrem de neplacute....De aceea ccesul la hardware trebuie facut prin drivere specializate, si desi exista drivere generice care permit pana la urma accesul la toate porturile, acest lucru trebuie evitat. De ex pentru accesarea portului serial in windows, exista structura DCB si functii aferente care functioneaza perfect. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum