ATtiny13 nekomunikuje přes ISP
Moderátor: Moderátoři
ATtiny13 nekomunikuje přes ISP
Součástí programu byla změna předděliče hodin z 8 (default) na 256 (CLKPR). Program funguje správně, podle vypočtených hodnot.
Předpokládám, že díky tomuto přeprogramování děliče už není schopen komunikovat čip s programátorem (PonyProg).
Uvažuju správně?
Díky za odpovědi.
Jirka
Myslel jsem, že při resetu se nastaví opět dělení 8, jak se zdá, není tomu tak.
Díky za odpovědi.
http://www.zirafoviny.cz/modules/news/a ... storyid=14
nebo originálně tady
http://elm-chan.org/works/avrx/report_e.html#AVRXP
Je to velmi užitečná pomůcka
A special note for AVR devices. The AVR need a valid system clock to be programmed via SPI and the max frequency of the SPI bus depends on this system clock. So if you changed the fuse (even accidentally) to use low clocks like 1MHz or 32.768KHz you must change the SPIBusSpeed=VERYSLOW or ULTRASLOW to access the AVR anymore. If you have to use such low clocks I suggest to program the flash and eeprom first, and at last program the security and fuse bits.
V souboru Ponyprog2000.ini přidej řádek
SPIBusSpeed=ULTRASLOW
Při experimentování s CLKPR dávám na začátek programu delay 2-4 sec.
Během této doby stihnu spustit programátor (ještě než čip přejde na nižší kmitočet).
To mě nenapadlo, jinak bych nejdřív změnil fuse na 4,6MHz a teprve potom nahrál program (ještě pmalejší běh).
Ale budu počítat s prodlevou na začátku, ještě jednou díky za tip.
Mám ještě jeden dotaz, pokud někdo máte zkušenosti. Pokud neošetřím na počátku programu (vektor RESET) hodnotu pracovního registru (např. r16),
po resetu (tlačítkem) je zachovaná původní hodnota. A tato hodnota se v registrech dokáže udržet i po vypnutí po dlouhou dobu, i když ne zcela přesná (4313, mega64) - i několik hodin.
Žil jsem v domění, že jsou hodnoty registrů i pracovní paměti vynulované právě signálem reset.
Jirka
On ho zvládne, ale čím je menší kmitočet oscilátoru v Avr, tím menší musí být v Ponyprogu nastavený kmitočet SPI.přepne se avr do pomalého kmitočtu a ten zase nezvládá Ponyprog.
S nastavením SPIBusSpeed=ULTRASLOW by měl Ponyprog komunikovat i s čipem který má frekvenci 32 kHz.
To byl smysl mého příspěvku.
Po vypnutí a zapnutí napájení se nastaví pracovní registry a RAM na náhodné hodnoty, IO registry na default hodnoty.