Aikaisemmin oli helppoa kirjoittaa IO-porttiin. Mutta Windowsissa tilanetta on hankaloitettu.
Miten kirjoitetaan johonkin IO-porttiin. (dos-pohjaiset ohjelmat kaatuvat Windowsin alla.)
Tätä varten tarvitaan ilmeisesti Windows-driveri.
Onko jollain esimerkkiä miten Windowsille tehdään ohjelma, joka kirjoittaa IO-portteihin C :lla. Itse käytän MS C :aa.
Pitääkö tätä varten hankkia DDK(Driver Developement Kit)?
Miten kirjoitetaan johonkin IO-porttiin. (dos-pohjaiset ohjelmat kaatuvat Windowsin alla.)
Tätä varten tarvitaan ilmeisesti Windows-driveri.
Onko jollain esimerkkiä miten Windowsille tehdään ohjelma, joka kirjoittaa IO-portteihin C :lla. Itse käytän MS C :aa.
Pitääkö tätä varten hankkia DDK(Driver Developement Kit)?
Vastaukset 3
Vanhimmat
.. se on edelleenkin. I/O-kortin mukana tulee tuhti annos kaikkea sälää (ajuri, DLL-kirjaston), jolle homman voi kivasti nakittaa.
Yleensä I/O-kortin valmistajan prujuissa on vielä esimerkkiohjelma ajurin käytöstä, joten homman pitäisi olla aikast päivänselvä juttu.
Tutkaile vaikka ADLink:n kotisivuja ni sieltä voipi löytyä jotain aiheeseen liittyvää lisäinfoa.
-Jonttu-
I/O portteihin kirjoittaminen, eli suorittimen "in" ja "out" käskyjen käyttäminen onnistuu Windows 95,98 ja ME:ssä mihin tahansa porttiin ihan vapaasti. Windows NT, 2000 ja XP vahtii ohjelman toimintaa tarkemmin ja estää monien käskyjen suorittamisen "in" ja "out" mukaanlukien. Kirjoittamisesta seuraa normaalisti "priviledged instruction" virhe.
Voit kuitenkin kiertää ongelman kirjoittamalla ajurin jota ohjaat ohjelmasta DeviceIO control kutsulla tai sitten muokkaat Windowsin I/O permission bitmappeja niin että voit kirjoittaa haluamiisi portteihin. DDK:ta ei ole pakko hankkia, mutta on siitä hyötyä.
Löytyisikö sinulta aivan pelkistettyä esimerkkiä driveristä, jolla kirjoitetaan ja luetaan tavu/word IO-portista.(hyödyntäen DeviceIO:ta ja permission mappeja.)
Tuleeko DDK:n mukana tälläinen esimerkki?
Kiitos jo etukäteen.