10 #define get_control() (inb(lpt_base+2) ^ 0x04)
11 #define put_control(x) outb((x) ^ 0x04, lpt_base+2)
12 #define TRI 0x20 /* tristate data lines */
13 #define NDAC 0x04 /* LPT pin 16 */
14 #define DAV 0x01 /* LPT pin 1 */
18 int main(int argc,char **argv) {
21 put_control(TRI | NDAC); /* clear NRFD */
22 if (get_control()&DAV) { /* wait for DAV */
23 fprintf(stderr,"ctu znak...\n");
24 char flags,val=lptgpib_read_byte(&flags);
26 lptgpib_print_command(val);
28 fprintf(stderr,"precten znak: %02x (%c)\n",val,val);
31 memset(&pollfd,0,sizeof pollfd);
34 int i=poll(&pollfd,1,0);
40 fprintf(stderr,"zapisuji znak... %02x (%c)\n",val,val);
41 lptgpib_write_byte(val,0);
42 fprintf(stderr,"zapsan znak.\n");