#include #include FILE *tgt; void dot(int b) { char c=b?0xff:0x00; fputc(c,tgt); fputc(c,tgt); fputc(c,tgt); fputc(0,tgt); } int main() { struct timespec time1, time2; int temp,i,j,m=0; tgt=fopen("/dev/fb0","wb"); for(j=0; j<8; ++j) { fseek(tgt, j*4*1024, 0); for(i=0; i<11; ++i) dot(0); } while (1) { clock_gettime(CLOCK_REALTIME, &time1); fseek(tgt, 0*4*1024, 0); j=(time1.tv_sec/100)%10; for(i=0; i<10; ++i) dot(i<=j); fseek(tgt, 1*4*1024, 0); j=(time1.tv_sec/10)%10; for(i=0; i<10; ++i) dot(i<=j); fseek(tgt, 2*4*1024, 0); j=(time1.tv_sec)%10; for(i=0; i<10; ++i) dot(i<=j); fseek(tgt, 4*4*1024, 0); j=(time1.tv_nsec/100000000)%10; for(i=0; i<10; ++i) dot(i<=j); fseek(tgt, 5*4*1024, 0); j=(time1.tv_nsec/10000000)%10; for(i=0; i<10; ++i) dot(i<=j); fseek(tgt, 6*4*1024, 0); j=(time1.tv_nsec/1000000)%10; for(i=0; i<10; ++i) dot(i<=j); clock_gettime(CLOCK_REALTIME, &time2); j=1000000000*(time2.tv_sec-time1.tv_sec)+(time2.tv_nsec-time1.tv_nsec); if (j>m) { printf("%ld\n",m=j); } } return 0; }