Paso 8: Ingredientes de un reloj simple
Sólo para conseguir algo "Hecho". Hice un programa de reloj rápido para utilizar la pantalla. Se trata de código Perl usando Linux interfaz ttyUSB0.
uso estricto;
Utilice FileHandle;
uso constante {}
DIM = > 0 x 04, ## atenuación
DP = 0 x > 10, ## Mostrar la posición
CLR = > 0x0D, ## claro
ALD = > 0x0F, ## Mostrar todos (modo de prueba)
BLK = > 0x0A, ## intermitente (no parece funcionar)
SCR = > 0x0B, ## Scroll (no funciona bien..)
};
dispositivo serial ##usb (FTDIFriend de adafruit.)
mi $deviceFn = '/ dev/ttyUSB0';
dateString sub
{
mi ($sec, $min, $hr, $day, $mon, $year) = hora local;
volver sprintf ("%04d/%02d/%02d",
1900 + $year, $mon + 1, $day);
}
timeString sub
{
mi ($sec, $min, $hr) = hora local;
volver sprintf ("% 02d: % 02d: % 02d", $hr, $min, $sec);
}
mi $clockTemplate = "%s\n %s";
mi $fh = nuevo FileHandle;
$fh -> open (">". $deviceFn) || Die "no pudo abrir el puerto serie";
$fh -> autoflush();
mi = (DP, 0 x 05);
mi = (DP, 0x19);
mi = (DP, 0 x 05);
##update el tiempo cada segundo...
##update la fecha con menos frecuencia
mi $dateTrigger = 0;
while(1)
{
if($dateTrigger == 20)
{
$fh -> Imprimir (pack ('C *',
$fh -> print(dateString());
$dateTrigger = 0;
}
$dateTrigger ++;
$fh -> Imprimir (pack ('C *',
$fh -> print(timeString());
$fh -> Imprimir (pack ('C *',
Sleep(1);
}