Sziasztok!
Elmúlt napokban a googlet túrtam, de valahogy nem sikerül a megfelelő keywordoket megtalálni. :|
A problémám a következő, hátha valaki tudna segíteni:
Adott egy lazarusban írt program ami többek között a soros portra kötött raw printerre nyomtat (1K bufferre van a printernek, a nyomtatandó szöveg nemtöbb 300 karakternél). -szerk: a soros port és a printer is 9600bps-en kommunikál, a printelés a /dev/ttyS0-n keresztül történik-
Adott egy másik C-ben írt program ami semmi mást nem tesz, mint figyeli a párhuzamos port 4-ik lábát, van-e változás ha igen egy fájlba ír egy karaktert. Ennek ütemezése 100msec.
Az adott gép amin fut: 500mhz P3, 128mb sdram, xubuntu 7.10.
A gond pedig ott kezdődik amikor a lazarusban írt program éppen nyomtatáshoz ér, elkezd nyomtatni, eközben a párhuzamos portos program ""befagy"" (nem találok rá jobb szót). Majd a nyomtatást befejezve, fut tovább a másik párhuzamos portot figyelő program is.
Fontos lenne, hogy nyomtatás közben is tudjam figyelni a bejövő adatokat a párhuzamos porton.
Valaki ki tud segíteni pár keyworddel, rövid leírással?
Előre is köszönöm,
icee
- 5110 megtekintés
Hozzászólások
Ezt egy progi csinálja, vagy két külön progi?
Ha az utóbbi, akkor próbálj meg egy-egy thraed-et csinálni a két rutinnak.
- A hozzászóláshoz be kell jelentkezni
a,
sched_setscheduler()
Allitsd c program priolitasat 0 tol nagyobbra. Rootkent kell futattni, ne hagyd ki usleep -eket mer kulonben megfo a rendszered.
b,
kernel a drivert kell irni es kezelni kell a megszakitasokat.
c,
Talan az uj userspace driver interface engedne, megszakitast kezelni
itt
d,
Waiting for events: poll and select
szerk:
The Parallel Port interrupt can be disabled and enabled using bit 4 of the control register, Enable IRQ Via Ack Line. Once enabled, an interrupt will occur upon a low to high transition (rising edge) of the nACK. However like always, some cards may trigger the interrupt on the high to low transition.
Ez a 10 lab, es csak az egyik iranyba torteno valtozaskor szol.
- A hozzászóláshoz be kell jelentkezni