Étape 4: Comment cela a fonctionné pour moi
run_avr -mcu attiny85 -freq 8000000 -t ~/repos/life/code/avr/tutorials/ctc_ledblink.o
Ce produit cette merveilleuse sortie :
AVR_MMCU_TAG_VCD_TRACE 0053:00 - TCCR0B AVR_MMCU_TAG_VCD_TRACE 004a:00 - TCCR0A AVR_MMCU_TAG_VCD_TRACE 0038:01 - tick AVR_MMCU_TAG_VCD_TRACE 0038:02 - reset_timer AVR_MMCU_TAG_VCD_TRACE 0038:08 - OC0A Loaded 136 .text Starting attiny85 - flashend 1fff ramend 025f e2end 01ff attiny85 init Creating VCD trace file 'gtkwave_trace.vcd' avr_timer_configure-0 TOP 31250.00Hz = 256 cycles avr_timer_configure-0 TOP 488.28Hz = 16384 cycles avr_timer_configure-0 TOP 488.28Hz = 16384 cycles avr_timer_configure-0 A 2450.98Hz = 3264 cycles avr_timer_configure-0 TOP 31250.00Hz = 256 cycles avr_timer_configure-0 A 156862.75Hz = 51 cycles simavr: sleeping with interrupts off, quitting gracefully
Maintenant que j’ai eu le fichier de trace, j’ai regardé avec gtkwave comme à l’étape 3. J’ai utilisé ma feuille de données et comparé les registres avec ce que j’attendais, et j’ai été mise mon registres de minuterie en arrière ! Oups ! De toute façon, il aurait fallu me une quantité beaucoup plue de temps pour le résoudre sans simavr - de cette façon, il n’a fallu que quelques minutes pour obtenir en marche et trouver mon problème. Je recommande fortement que vous l’essayer !
Si vous souhaitez voir un exemple de code, voici la source pour le test que je l’ai fait ci-dessus :
https://github.com/Hank/Life/BLOB/master/code/avr/Tutorials/ctc_ledblink.c