diff --git a/index.html b/index.html index 5210ced2bad00514e9d31cc38bae53765b0345e1..488d481782b18caf37b29af7ef03c1500a94fd3a 100644 --- a/index.html +++ b/index.html @@ -335,21 +335,30 @@ In our program above, we're using `1110`, which we can understand by looking at <img src="images/att44_cksel.png" width="400"> -We're in the last row case (`111` external crystal or resonator), which means we need to go look farther at page 27: +We're in the last row case (`CKSEL3..0` is within `1000`-`1111` cases, for external crystal or resonator), which means we need to go look farther (at page 27): <img src="images/att44_cksel2.png" width="500"> -And there we find that we're assuming an external crystal/resonator, with frequency from 8MHz and above. +And there we find that we're assuming an external crystal/resonator, with frequency from 8MHz and above (`CKSEL3..1` is `111`). The last bit `CKSEL0` requires looking a bit further: <img src="images/att44_cksel3.png" width="400"> Since we have `CKSEL0=0`, it means we assume a ceramic resonator. -Given the additional `SUT1..0=01` (3rd and 4th bits from the left in `01011110`, we know that we have BOD (**B**rown-**o**ut **D**etector) enabled. +Given the additional `SUT1..0` as `01` (3rd and 4th bits from the left in `0101_1110`, we know that we have BOD (**B**rown-**o**ut **D**etector) enabled. 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. +### Take-aways + +1. Read the manuals +2. Read the datasheet (when you need it, no need to memorize) +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 ...) + + </xmp> <script src="sd/strapdown.js"></script>