⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 atail-f.pl

📁 DE2开发板上的资料,主要是他的例子,含有各种接口程序,如VGA,USB,LCD等
💻 PL
字号:
#Copyright (C)2001-2004 Altera Corporation#Any megafunction design, and related net list (encrypted or decrypted),#support information, device programming or simulation file, and any other#associated documentation or information provided by Altera or a partner#under Altera's Megafunction Partnership Program may be used only to#program PLD devices (but not masked PLD devices) from Altera.  Any other#use of such megafunction design, net list, support information, device#programming or simulation file, or any other related documentation or#information is prohibited for any other purpose, including, but not#limited to modification, reverse engineering, de-compiling, or use with#any other silicon devices, unless such use is explicitly licensed under#a separate agreement with Altera or a megafunction partner.  Title to#the intellectual property, including patents, copyrights, trademarks,#trade secrets, or maskworks, embodied in any such megafunction design,#net list, support information, device programming or simulation file, or#any other related documentation or information provided by Altera or a#megafunction partner, remains with Altera, the megafunction partner, or#their respective licensors.  No other licenses, including any licenses#needed under any third party's intellectual property, are provided herein.#Copying or modifying any file, or portion thereof, to which this notice#is attached violates this copyright.@prog = split (/\/|\\/,$0) ; $pname = $prog[$#prog] ;select(STDIN);  $| = 1;         # make stdin  unbufferredselect(STDOUT); $| = 1;         # make stdout unbufferred$SIG{'INT'} = 'quit';		# run &quit on ^C&usage if @ARGV < 1;		# die without 1 (file) arg$file = $ARGV[0];$old_size = -1;$size = 0;$some_bytes = 0;$char = 0;die if (&args_test($file) && sleep 5);while (1) {    if (($size == 0) && ($size != $old_size)) {        $formatted_time = &get_formatted_time();        syswrite (STDOUT,"\n$pname: $file size is zero at time $formatted_time.\n"."------------------------------------------------------------------------\n");        $old_size = $size;    }    ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,     $size,$atime,$mtime,$ctime,$blksize,$blocks)        = stat($file);    if ($size > $old_size) {        sysopen (LOG, $file, O_RDONLY) or &ktb(); # ktb == KickTheBucket        sysseek (LOG, $old_size, 0);        sysread (LOG, $some_bytes, $size - $old_size);        close(LOG);        if ($some_bytes =~ /([\n\r]*)([01]{8})([\n\r]{1,2})/) {            $pre_crlf = $1;            $pre_char = $2;            $postcrlf = $3;            $old_size += length($pre_crlf)+length($pre_char)+length($postcrlf);            @zero_ones = split (//,$pre_char);            for ($i = 0 ; $i <= $#zero_ones ; $i++) { # $#zero_ones should be 8                if ($zero_ones[$i] =~ /1/) {                    $char += 2**(7-$i);                }            }            syswrite (STDOUT, (pack "c",$char));            $char = 0;        }     }    select(undef, undef, undef, 0.1);} # end main loop [while TRUE]sub usage {    die "usage: $pname logfile\n";} # usagesub quit {			# interrupt handler for exit    local ($sig) = @_;    print STDERR "Caught SIG$sig; exiting...\n";    close (LOG);    sleep 1;    exit;} # quitsub ktb {			# kick the bucket if file disappears    local ($file) = @_;    print STDERR "$pname: $file is gone!; exiting...\n";    sleep 1;    exit 1;} # quitsub args_test {			# return 0 for success; return 1 for fail    local ($file) = @_;    local $code = " ";    local $die  = 0;    if (defined (open (LOG, $file))) { 	close(LOG);		# success    } else {	$code = "$!\n";		# remember fail reason    }    if ($code ne " ") {        print STDERR "$pname: Cannot open '$file': $code";        $die = 1;		# remember any failure    }    return $die;		# return any failure status.} # args_testsub get_formatted_time {        # create a timestring without using packages    my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);    return (sprintf ("%.2d:%.2d:%.2d %.2d/%.2d/%.4d", $hour,$min,$sec,($mon + 1),$mday,($year + 1900)));} # get_formatted_time

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -