EasyManua.ls Logo

adafruit learning system Trinket - 16 Mhz Vs 8 Mhz Clock; Power Tradeoffs; How to Activate the 16 Mhz Clock; On AVR-GCC

Default Icon
48 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
16MHz vs 8MHz Clock
The Trinket by default runs at 8 MHz, a plenty fast speed for nearly all of your microcontroller
needs. However, you may want to use code that requires it to run at 16 MHz, or maybe you
just want a little boost in speed.
The 16 MHz clock speed for Trinket 5V o nly!
The ATtiny85 is only specified to run at 16 MHz when powered at 5V - that means that
officially you can only run the 5V Trinket at 16 MHz.
However, the AVR series is pretty forgiving for overclocking, so you may be able to run the
3V Trinket at 16 MHz. Note that this is still overclocking, your code may run flakey or not at
all! Overclocking should not damage the AVR, but we still recommend sticking with 8 MHz
only for the 3V version, and 8 or 16MHz only on the 5V version.
Power Tradeoffs
Doubling the speed will increase the power usage just a bit. At 8 MHz the current draw it
about 9 milliamps. That number includes the green power LED which draws about 3mA so
thats 6mA for the microcontroller itself.
At 16 MHz the draw is 12mA total. Subtracting the green LED current draw, that means 9mA
for the microcontroller itself.
How to activate the 16 MHz clock
...on AVR-GCC
We can activate the 16MHz clock 'in software' simply by asking the chip to set the clock
prescale. If you are using raw avr-gcc, run this as the first line in main()
clock_prescale_set(clock_div_1);
You may need to add #include to your file so that the commands are recognized. Then
make sure to compile your code with F_CPU = 16000000
...Arduino IDE
Using 16 MHz mode is very similar when using the Arduino IDE. Add the following line to the
very top of your Arduino sketch (as the first line)
#include <avr/power.h>
Then, in setup() - add this as the first line in the function:
if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
Then select Trinket 16MHz from the Tools->Board menu. Your code will compile and run at
16 MHz!
© Adafruit
Industries
https://learn.adafruit.com/introducing-trinket Page 40 of 48

Related product manuals