Miten C/C++ voi hallita laajennuskortteja, jos ylipäänsä mahdollista muulla kun Assemblyllä?
Ihan niin kuin Metabolix ei osaisi sanoa juuta eikä jaata. :)
mä voin jelppii sen verran, et itte kun kyselin samaa asiaa usb-porteille, vastaus oli että hommaa valmis ajuri mitä käytät..
tosin metabolix varmasti osaisi sanoa enemmän..
Ihan niin kuin Hakoulinen ei osaisi käyttää hakua. >8D
Datan syöttäminen ja lukeminen tapahtuu yleensä Assembly-käskyillä inb ja outb, joiden kutsumiseen voi tietenkin helposti tehdä C-funktiot (usein inportb ja outportb). Mikään nykyaikainen käyttöjärjestelmä ei varmasti salli noiden käskyjen käyttämistä muuten kuin erityisissä laiteajureissa. Ajureiden ohjelmointi ja kääntäminen taas on täysin käyttöjärjestelmäriippuvaista, Windowsissa voit aloittaa asian tutkimisen MSDN:stä Windows Driver Kit -sivulta. Linuxissa sen sijaan voit tutustua aiheeseen Loadable Kernel Modules (LKMs).
Kröhöm.. Koitin kyllä hausta ensin, mutta komentojen inb ja outb nimiä en tiennyt, joten etsin muilla sanoilla. Mutta kiitos neuvoista.
EDIT: Vääntäisikö joku vielä rautalangasta mitä eroa on WDK:lla ja DDK:lla?
WDK on uudempi ja sillä voi tehdä ajureita Windows 2000/XP/2003/Vista järjestelmille kun taas DDK on vanhempi ja tukee ainoastaan Windows 2000/XP/2003 käyttöjärjestelmiä.
kts
Aihe on jo aika vanha, joten et voi enää vastata siihen.