(08-09-2018, 00:16)Moro napisał(a): Witaj! Wiem bo próbowałem ustawiać fusy w MkAvrKalkulatorze. Ale rozchodzi się które ustawić? CKDIV8 ustawić ? Ale wydaje mi się że dzielenie już jest włączone.Zapomnij o Kardasiowym, PŁATNYM wynalazku. To samo, w dużo lepszej formie, masz w AtmelStudio/AvrStudio ZA DARMO!
Ustawienie podzielnika możesz zrobić programowo. Do tego służy rejestr CLKPRR.
Co tak naprawdę robi fuse CLKDIB8?
Po resecie wpisuje do CLKPRR podzielnik 8. Rozwiązanie z programową modyfikacją CLKPRR ma tą zaletę, że programując serię procesorów nie trzeba pamiętać o fuses. Ma też wadę. Szybsze taktowanie jest dopiero gdy program pracuje, programować przez SPI trzeba więc z CLK max 250kHz. W serii to nie wada, bo i tak "dziewicze" uC pracują z podzielnikiem. Przy pracy nad projektem też nie wada, bo uC ma 2k flash. W uC z dużą ilością flash też nie wada bo tam poważni ludzie używają JTAG.
Zrób więc to programowo i po robocie. Jak pamiętam to dwa zapisy do CLKPRR czyli całe 4 bajty, tyle ile jeden rozkaz w ARM.
Dlaczego w 99% modyfikowane sa fuses? Mnie to "wisi" bo używam odpowiednio zbudowanych plików ELF i fuses są już w nich. Nie bawię się podczas programowania w osobne zapisywanie flash, eeprom, fuses, lock. Jedno kliknięcie i po robocie. W projektach komercyjnych, w dużych uC program ustawia odpowiednio fuses (biore pod uwagę, ze jakiś "fachowiec" zaprogramuje tylko flash). Dlaczego inni bawią się w fuses? Ustawienia BOD, wektorów bootloadera, itp i pewnie nie potrafią napisac programu modyfikującego fuses ze swojej aplikacji.