Soros port printelés KÖZBEN párhuzamos port figyelés

Fórumok

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

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,
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.