Driver za Serijski Port?

Jel netko sam radio driver za serijski port na PC-u (IBM struktura) mislim da je to UART 16550 ili 16450 ? Inaèe ja bi si to volio napisat u VB.NET-u? Jel mi mo¾e neko reæ kako kontrolirat registre, da ja mogu napravit kao kod mikrokontrolera , da kad byte ude u UART da opali ISR i tamo da ja napi¹em neki kod da se izvr¹i!!

Jel ima nekakvih prijedloga Hvala Bojan

Reply to
Bojan
Loading thread data ...

Nevjerujem da je netko pisao win driver za com port jer za tim nema potrebe (standardni hardware), a pogotovo da je to moguce koristenjem .net tehnologije nego se obicno se koristi C ili asm.

U ovom slucaju rjesenje je koristenje standardnog drivera i neke od klasa za serijsku komunikaciju koja podrzava evente npr

formatting link
.

Reply to
megamusic

Bok. Nema frke sto se toga tice. Da vidis koji UART imas u kompu instaliras program tipa EVEREST i tamo ce ti pisat sve, pa i na kojem IRQ se nalazi. No ja ti vec sada mogu reci da sigurno imas 16550A (mislim da je to zadnji cip, danas je standard).

Trebas saznat baznu adresu (EVEREST ce ti reci) i dalje ides kao na mikrokontroleru, sve bi trebalo biti isti.

Jedini problem na koji ces sigurno naic je sto ti operacijski sustav nece dat prostup tom portu sam tak, jer jezgra vrti proc u "privilegiranom nacinu rada", dok se korisnicki programi vrte u "ogranicenom nacinu" i cim procesor pokusa izvest instrukciju pristupa portu (doticni LOAD ili STORE na adrese portova) bit ce prekinut. Moras naci driver (ima toga na netu) koji zaobilazi to ogranicenje.

Sorry na glupim izrazima s nacinima rada, valjda kuzis kaj mislim :)

Probaj na

formatting link

Nema na cemu, Ivan !

Reply to
Mad I.D.

Krivi link,

formatting link

Reply to
Mad I.D.

formatting link

btw, u cistom DOSu ce raditi, za windowse... good luck!

p.

Reply to
Marin Vlah

AFAIK nema potrebe za pisanjem drivera ak koristi¹ .NET 2.0, jer on ima gotovu klasu za RS232 portove. Ja sam je koristio iz C#, pa je valjda mo¾e¹ i iz VB. Klasa je SerialPort iz System.IO.Ports. Ja sam u svom programu za diplomski koristil nekaj slièno onome kaj ti spominje¹. Konkretno, kad mi stignu 2 bajta, da mi se izvr¹i niz funkcija koje ih obrade. Za to sam koristil /event/. Svoju instancu klase podesi¹ da ti pokrene odreðenu funkciju kad port primi odreðeni broj bajtova. Vi¹e od toga ti ne mogu pisat sad napamet jer sam svoj VS2005 i MSDN Library ritualno deinstaliral kad mi vi¹e nije trebal.

--
Pozdraf
Peter

iz moje emajl adrese makni "cek"
Reply to
Peter =?iso-8859-2?Q?=A9koda?=

Ovo je inaèe drugi naèin igranja lutrije, bar pod Windowsima. Polling, sinko, polling, jer ako spoji¹ komad hardwarea koji ne koristi ili ne radi dobro s RTS/CTS, na veæim brzinama dobije¹ buffer overflow. Ne ru¹i se aplikacija, nego stalno prepisuje zadnji primljeni podatak. C#, .NET2.0

Reply to
Mario Malenica

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.