#include <stdio.h> #include <sys/io.h> #include <unistd.h> #include <time.h> int main(void) { int addr=0x379; int data, i, tsyklid, yhed; FILE *out_file; time_t seconds; double protsent; // requires EPP mode in BIOS ioperm(addr,5,1); while (1) { tsyklid=1500; // 5 korda sekundis * 300 sekundit yhed=0; // nullime loenduri for (i=0;i<tsyklid;i++) { usleep(200*970); // ~20 millisekundit, s.o. 5 korda sekundis. data=( inb(addr) & 128 ) /128; if (data) yhed++; protsent= ( (double) yhed/ (double) tsyklid) * 100; seconds = time (NULL); time ( &seconds ); out_file = fopen("/mnt/usb/loeb4.txt", "w"); // usb pulgal olevasse faili // läheb siis protsent, mis näitab katla // teo töötamist viimase 5 min jooksul fprintf (out_file,"%.2f\n", protsent); fclose(out_file); printf ( "protsent: %.2f kell: %s\n", protsent, ctime (&seconds) ); // see rida konsoolis debugimise tarvis. } return(0); }
Tulemuseks on siis konsoolis:
protsent: 26.27 kell: Thu Feb 17 08:36:24 2011
protsent: 6.93 kell: Thu Feb 17 08:41:24 2011
protsent: 0.00 kell: Thu Feb 17 08:46:24 2011
protsent: 0.00 kell: Thu Feb 17 08:51:24 2011
protsent: 0.00 kell: Thu Feb 17 08:56:24 2011
protsent: 0.00 kell: Thu Feb 17 09:01:23 2011
protsent: 0.00 kell: Thu Feb 17 09:06:23 2011
protsent: 0.00 kell: Thu Feb 17 09:11:23 2011
protsent: 0.00 kell: Thu Feb 17 09:16:23 2011
protsent: 0.00 kell: Thu Feb 17 09:21:23 2011
protsent: 22.60 kell: Thu Feb 17 09:26:23 2011
protsent: 19.87 kell: Thu Feb 17 09:31:23 2011
protsent: 26.13 kell: Thu Feb 17 09:36:23 2011
protsent: 25.80 kell: Thu Feb 17 09:41:23 2011
Ja mainitud failis lihtsalt: 25.80