Digistump Forums

The Digispark => Digispark (Original) Support => Topic started by: Bluebie on December 22, 2012, 02:41:47 pm

Title: millis() doesn't work in Tiny Core?
Post by: Bluebie on December 22, 2012, 02:41:47 pm
#include "DigiUSB.h"

void setup() {
  DigiUSB.begin();
}

void loop() {
  DigiUSB.println(millis());
 
  for (byte i = 0; i < 250; i++) {
    DigiUSB.refresh();
    delay(1);
  }
}


prints out to digiterm:

0
0
0
0
0
0
...

So what's going on? Why doesn't millis work?
Title: millis() doesn\'t work in Tiny Core?
Post by: digistump on December 22, 2012, 08:33:40 pm
No ideas here sorry, I haven\'t messed with the tiny core much beyond the libraries that are included in the Digispark IDE version.
Title: millis() doesn\'t work in Tiny Core?
Post by: Sergio on December 23, 2012, 07:18:37 am
Hi, it looks like DigiUSB.begin() disables timer 0:

-- from DigiUSB.cpp:
void DigiUSBDevice::begin() {
    // disable timer 0 overflow interrupt (used for millis)
    TIMSK&=!(1<