Please see all COVID-19 updates here as some shipments may be delayed due to CDC safety and staffing guidelines. If you have an order or shipping question please refer to our Customer Support page. For technical questions please check out our Forums. Thank you for your continued support.

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