SparkFun Electronics will be closed in observance of memorial day on Monday, May 29th. We will resume normal business hours on Tuesday, May 30th. Any orders placed after 2pm Mountain Time on Friday, May 26th will process and ship out on Tuesday, May 30th.

Member #136454

Member Since: May 31, 2010

Country: Brazil

  • I checked and, for ATMEGA328, when an interrupt occurs all other are disabled when the interrupt code is been executed and enable on the return of the interrupt (RET) automatically. If you need that a higher priority interrupt occurs inside another one with lower priority, you must enable manually the higher priority interrupt inside the lower interrupt priority code. The millis() function, I believe, is builded on this way, because it works inside a code for the interrupt 0 for example like this code (debouncing) posted at http://www.sparkfun.com/tutorials/326

  • How does the interrupts priority work on Arduino? For exemple, if the Arduino is treating interrupt 0, and an event on interrupt 1 occurs, what happens? Another issue is that the function “delay()” doesn�t work inside an interrupt but the millis() works, so the priority of an interruption for counting millis is higher than priority for interrupts 0 & 1 and takes place even if Arduino is executing an interruption 0 or 1 code!!!

  • In practice, 0.07°/s is quite impossible to be sense because of noise. But noise is a common issue for every device.

  • The resolution of ITG3200 (acc to the datasheet) is 14.375 LSB/(°/s). It´s mean that it´s can sense 0.07 °/s (1/14.375)!!
    Don´t forget that the ITG3200 has a word lenght of 16 bits!!
    L. Mauro