X-Git-Url: http://dolda2000.com/gitweb/?p=kokare.git;a=blobdiff_plain;f=kokare.c;fp=kokare.c;h=38662bbd287dbf6ce0dfba6f3abd6312b440cf6e;hp=64c3754f6225f06593899ab0c58bb8a17fe8f818;hb=d776f08c024659d4972e2e22f7374929dc288b99;hpb=a33bf3b7cd7c135bd3b93209aa9f60ba09879bdd diff --git a/kokare.c b/kokare.c index 64c3754..38662bb 100644 --- a/kokare.c +++ b/kokare.c @@ -149,7 +149,16 @@ void disphex(unsigned char num) unsigned long getticks(void) { - return(TCNT1 + (((unsigned long)oticks) << 16)); + uint16_t v; + unsigned long r; + + cli(); + v = TCNT1; + r = v + (((unsigned long)oticks) << 16); + if((TIFR1 & 0x01) && !(v & 0x8000)) + r += 0x10000; + sei(); + return(r); } void ledcycle(void)