switched up analogRead() loop to use the revamped millis() function rather than the private timer0_overflow_count variable
This commit is contained in:
parent
ad860f84d3
commit
bf4484d02c
|
@ -32,8 +32,8 @@ byte pinStatus[TOTAL_DIGITAL_PINS]; // store pin status, default OUTPUT
|
||||||
byte portStatus[TOTAL_PORTS];
|
byte portStatus[TOTAL_PORTS];
|
||||||
|
|
||||||
/* timer variables */
|
/* timer variables */
|
||||||
extern volatile unsigned long timer0_overflow_count; // timer0 from wiring.c
|
unsigned long currentMillis; // store the current value from millis()
|
||||||
unsigned long nextExecuteTime; // for comparison with timer0_overflow_count
|
unsigned long nextExecuteMillis; // for comparison with currentMillis
|
||||||
|
|
||||||
|
|
||||||
/*==============================================================================
|
/*==============================================================================
|
||||||
|
@ -204,8 +204,9 @@ void loop()
|
||||||
/* DIGITALREAD - as fast as possible, check for changes and output them to the
|
/* DIGITALREAD - as fast as possible, check for changes and output them to the
|
||||||
* FTDI buffer using Serial.print() */
|
* FTDI buffer using Serial.print() */
|
||||||
checkDigitalInputs();
|
checkDigitalInputs();
|
||||||
if(timer0_overflow_count > nextExecuteTime) {
|
currentMillis = millis();
|
||||||
nextExecuteTime = timer0_overflow_count + 19; // run this every 20ms
|
if(currentMillis > nextExecuteMillis) {
|
||||||
|
nextExecuteMillis = currentMillis + 19; // run this every 20ms
|
||||||
/* SERIALREAD - Serial.read() uses a 128 byte circular buffer, so handle
|
/* SERIALREAD - Serial.read() uses a 128 byte circular buffer, so handle
|
||||||
* all serialReads at once, i.e. empty the buffer */
|
* all serialReads at once, i.e. empty the buffer */
|
||||||
while(Firmata.available())
|
while(Firmata.available())
|
||||||
|
|
Loading…
Reference in New Issue