Enviado em 16/07/2017 - 10:04h
Enviado em 16/07/2017 - 10:47h
Como você está fazendo o SO, então você terá de interagir com o hardware que faz a medição de tempo. Possivelmente terá de recorrer a um material de engenharia que diga como eles operam e com você se comunica com eles (ou então você lê o código dos device drivers desses dispositivos num Linux ou BSD da vida).Enviado em 18/07/2017 - 10:48h
Parte da solução resolvida ;).#include <stdio.h> unsigned char sec; int muda = 100; int count; void second (void) { asm ("cli"); // disable interrupts asm ("mov $0, %al"); // 0 = second asm ("outb %al, $0x70"); asm ("inb $0x71, %al"); asm ("sti"); // enable interrupts asm ("mov %al, _sec"); // copy ( %al ) in var ( sec ) } int main (void) { for (;;) { second (); if (muda != sec) { // fechou (condicao acima )... proximo >>> // muda = sec; // ... aqui funciona a CADA 1 SEGUNDO ... testado // printf ("count( %d ): %d\n", sec, count++); }//: if (muda != sec) }//: for() return 0; }
Enviado em 19/07/2017 - 02:16h
É uma solução simples, se você não se importar em estragar a hora do seu computador, e em gastar energia com um loop em espera ocupada.while(1){ int h=time(NULL)%86400; printf("Hora atual: %02d:%02d:%02d\n", h/3600, (h/60)%60, h%60); sleep(1); }
Enviado em 19/07/2017 - 11:04h
Enviado em 19/07/2017 - 15:55h
Enviado em 19/07/2017 - 17:12h
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Alguém poderia me ajudar a escolher peças pra montar um desktop? (0)
modo de emergencia no linux [RESOLVIDO] (1)