Atmega 328P senza quarzo o oscillatore e libreria Timer1

d407336:
se di fabbrica è a 1MHz per portarlo da 1MHz a 8MHz non mi serve il quarzo ma mi basta modificare il file boards.txt dell'ide come descritto nella guida del Menniti?
quindi in pratica se io uso un arduino uno come programmatore isp:

  • modifico il file boards.txt e aggiungo l'atmega a 8MHz con l'oscillatore interno
  • carico sull'arduino uno lo sketch ArduinoISP selezionando come board l'arduino uno
  • collego l'atmega328p via isp all'arduino uno
  • carico lo sketch sull'atmega328p nuovo selezionando come board l'atmega a 8MHz

In pratica il bootloader non lo devo neanche usare, è corretto?

Per togliere il divisore x8 del clock non mi basta modificare i fuse nel file boards.txt e caricare via isp come scritto nella guida?
Non capisco cosa devo fare con avrdude, o lo fa l'ide direttamente?

Comunque, c'è un modo per sapere se l'atmega è settato per andare proprio a 1MHz e non 8MHz o 16MHz?

No, così non va.
Tu hai detto che non vuoi programmarci sopra il bootloader. Se usi l'IDE l'unico modo per cambiare i fuse è scriverci il bootloader sul tuo chip. Se programmi solo lo sketch non cambi i fuse.
Vai perciò di terminale ed avrdude e cambi solo il fuse che ti serve (è i fuse basso):

  1. carichi l'ArduinoISP sull'Arduino
  2. stacchi la scheda e monti il 328 da programmare su breadboard seguendo la guida di Michele
  3. apri un terminale e poi dai questo comando
avrdude -P /dev/ttyACM0 -c stk500v1 -p m328p -U lfuse:w:0xe2:m -b 19200

se hai Linux, se hai Windows devi adattare il comando relativamente alla porta da usare
Se hai fatto tutto bene, avrdude ti dirà che ha flashato correttamente il micro, ed ora andrà a 8 MHz.

Per sapere il valore attuale del micro puoi leggere i fuse e guardare cosa c'è scritto nel fuse basso. Usa il comando del punto 3) sostituendo la parte relativa al parametro -U

-U lfuse:r:./fuseBasso.txt

mi pare.