diff --git a/index.html b/index.html index 488d481782b18caf37b29af7ef03c1500a94fd3a..aa78f125fb416a7d822528f11a0d6a7522baccf1 100644 --- a/index.html +++ b/index.html @@ -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