Commit 1538bdeb authored by Alexandre Kaspar's avatar Alexandre Kaspar

Last two bits of fuse

parent 74e755aa
Pipeline #4516 passed with stage
in 2 seconds
......@@ -350,6 +350,14 @@ You can read about that [there](https://microchipdeveloper.com/8avr:bod).
The `CKSEL` fuses are the fuses you are the most likely to every change, whereas the other ones are typically very specific.
Finally, if we look at bits 7 (`CKDIV8` set as `0`) and 6 (`CKOUT` as `1`), we can see that it is such that:
* `CKDIV8=0` (programmed) so that the the initial prescaler is set to 1/8. Reading about the prescaler on [page 30](http://fab.cba.mit.edu/classes/863.09/people/ryan/week5/ATtiny44%20Data%20Sheet.pdf#page=30), we see that this just sets the initial prescaler value, but that is available in the program space, which can then be changed at runtime.
* `CKOUT=1` (unprogrammed) does not enable clock output. Had we set it to `0`, the same section near the prescaler on [page 29](http://fab.cba.mit.edu/classes/863.09/people/ryan/week5/ATtiny44%20Data%20Sheet.pdf#page=29) tells that pin `CKOUT` (`PB2`) would be outputting the clock signal.
This output can be useful if you need to debug your clock while using an external clock.
In this way, you can check whether your clock parameters (e.g. capacitors) are doing a good job and your frequency is what you expect.
### Take-aways
1. Read the manuals
......@@ -357,6 +365,7 @@ The `CKSEL` fuses are the fuses you are the most likely to every change, whereas
3. Choose your fuses carefully, notably beware of
* `RSTDISBL` in the *Fuse High Byte*, since this prevent further programming (needed in FabTinyISP), or similar disable / enable options
* Choose the clock carefully and especially the meaning hidden behind each bit's value (e.g. ceramic vs crystal, frequency range ...)
* For debugging, consider outputting the clock signal
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment