Záměna Atmega168 za Atmega16
Moderátor: Moderátoři
Záměna Atmega168 za Atmega16
http://www.elektronik-labor.de/ElektorD ... oDSP5.html
Bascom je relativně intuitivní prográmek a po vzpomínkách na Basic se mi podařili úpravy k obrazu svému.
Nicméně pak jsem chtěl vyzkoušet vyměnit Atmega168 za Atmega16.
Důvod byl větší počet volných pinů. Chtěl bych do menu dát i přepínání vstupů pro zesilovač, zapínání fyz. řízení hlasitosti a podobné blbinky.
Nicméně po změně $regfile pro Atmegu16 a nové nadefinování portů pro displej a tlačítka a korektního převedení na HEX soubor a nahrátí se nic nestane ... .
Je možná tato záměna? Resp. musí se udělat větší změny v SW???
PS: jsem začátečník, Bascomu se věnuji teprve 3 měsíce
- Přílohy
-
SI4735_AVR_Bascom.zip- (7.9 KiB) Staženo 292 x
Zkus jestli pomůže
Kód: Vybrat vše
$hwstack = 128
$swstack = 64
$framesize = 64Změna na $hwstack = 128, $swstack = 64, $framesize = 64 nepomohla.
Fuse byty jsem neměnil.
Napsaný velice jednoduchý prográmek - zmáčkneš tlačítko a přičte se 1 se zobrazím na displeji mi funguje u obou procesorů.
Je také otázka zdali soudruzi z NDR někde neudělali chybu
Resp, jak jsou napsány podprogramy pro SI4735. Bohužel se nějak nerozepisují.
Jejich zveřejněná poslední verze:
https://www.elektormagazine.com/labs/en ... dio-si4735
se chovala úplně divně.
Když se to nepodaří, neva. Základ mi s A.168 funguje. A zesilovač dořeším jinak.
A hlavně - R0-R31 jsou registry (viz chyba nekmil), opravdu chceš do nich přímo zapisovat a číst? Nebo mají být R1-R13 ve tvém SW normální bytové proměnné? Pak je přejmenuj.
Nicméně po změně $regfile pro Atmegu16 a nové nadefinování portů pro displej a tlačítka a korektního převedení na HEX soubor a nahrátí se nic nestane ... .
To znamená co? Ani displej nic neukazuje?
V kódu nevidím nic specifického pro M168. Měl by chodit s M16 beze změn.
Zkusil bych napřed zapojit piny M16 stejně jak byly u M168.
U M16 nastavit kmitočet 8 MHz.
Pro interní osc 8 MHz
Fuse low = E4
Fuse high = D9
Pro krystal 8 MHz
Fuse low = FD
Fuse high = D9
Zkusit neupravený původní kód.
Pak teprve dělat postupně změny v kódu.