me8100_test_int/test.pl
changeset 15 b9baa645576a
child 16 6b2a0de29990
equal deleted inserted replaced
14:c3f6d5e9713a 15:b9baa645576a
       
     1 #! /usr/bin/perl -w
       
     2 
       
     3 use strict;
       
     4 use Fcntl;
       
     5 
       
     6 my $DEV = "/dev/me8100_0a";
       
     7 my $flags;
       
     8 
       
     9 $SIG{IO} = sub { 
       
    10 	my $val;
       
    11 	sysread(DEV, $val, 2);
       
    12 	$val = unpack("s", $val);
       
    13 	print "Hi, got a signal, read $val\n";
       
    14 	print "<", unpack("b16", pack("N", $val)), ">\n";
       
    15 };
       
    16 
       
    17 open(DEV, $DEV)
       
    18 	or die "Can't open $DEV: $!\n";
       
    19 
       
    20 fcntl(DEV, F_SETOWN, $$) or die "Can't set owner: $!\n";
       
    21 $flags = fcntl(DEV, F_GETFL, 0) or die "Can't get flags: $!\n";
       
    22 fcntl(DEV, F_SETFL, $flags | O_ASYNC) or die "Can't set flags: $!\n";
       
    23 
       
    24 while(sleep(1000)) {
       
    25 }