Zaslal: st květen 31 2017, 21:08 Předmět: Záměna Atmega168 za Atmega16
Hraji si ze stavbou VKV tuneru s SI4735.
http://www.elektronik-labor.de/ElektorDSP/ElektroDSP5.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
Založen: Sep 19, 2007 Příspěvky: 3698 Bydliště: Praha
Zaslal: st květen 31 2017, 23:02 Předmět:
Bascom neznám, ale předpokládám, že je to jazyk takové úrovně, že stačí jen předefinovat typ procesoru a potřebné změny v ovládání HW procesoru jsou udělány automaticky. Nejprve bych vyzkoušel na ATmega16 přesně stejný program jako na ATmage168, jestli to bude fungovat. Tím se zjistí, jestli si Bascom hladce poradí se změnou procesoru. Pak postupně přidávat vlastní rozšíření.
Já teda bascom taky neznám, ale portoval jsem 2 projekty ze základní Megy (8/16/32) na MeguXX8 (48/168/328) v C a vzhledem k tomu, že se liší HW těch procesorů, to bylo na pár hodin předělávání kódů. Když už nic, je tam jiná reference (2.56V vs 1.1V) a registry pro ovládání časovačů/čítačů jsou jiné.
Založen: Sep 28, 2005 Příspěvky: 1342 Bydliště: ZČ + JM
Zaslal: čt červen 01 2017, 8:03 Předmět:
Fuse bity nastaveny správně? JTAG zakázaný? _________________ Kampaň, účelovka, nepodepsal, Palermo, ODS, Kalousek, je líp a jsou na to čísla, nastudujte si to.
Založen: Mar 06, 2005 Příspěvky: 788 Bydliště: Havířov
Zaslal: čt červen 01 2017, 15:36 Předmět:
Kontrolní otázka: jakou verzi Bascomu používáš ?
Když spustím v obou verzích Tvého programu "kontrolu syntaxe" vyhodí mi chyby na stejném místě
Error : 25 Line : 32 Variable already dimensioned [Variable already dimensioned] , in File : J:\Z1_18_00c.bas
Děkuji za rady. Používám verzi 2.0.7.5. Program je v obou případech přeložen bez chyby. S Atmegou168 funkční, v druhém případě ne.
Změ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/enhanced-software-for-elektor-dsp-radio-si4735
se chovala úplně divně.
Když se to nepodaří, neva. Základ mi s A.168 funguje. A zesilovač dořeším jinak.
Založen: Sep 28, 2005 Příspěvky: 1342 Bydliště: ZČ + JM
Zaslal: čt červen 01 2017, 19:30 Předmět:
Na fotkách v odkazu vidím krystal, předpokládám, že slouží k taktování megy (podle SW 8MHz). Z výroby je ale clock nastaveny na interní 1MHz oscilátor, minimálně toto může být důvod nefunkčnosti. JTAG je z výroby aktivní (portc.2-5). V obsluze přerušení TIM0_isr mi přijde podivný "pinc".
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. _________________ Kampaň, účelovka, nepodepsal, Palermo, ODS, Kalousek, je líp a jsou na to čísla, nastudujte si to.
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.
Díky za typ. Pojistky jsem nenastavoval. Začátečnická chyba.
To i vysvětluje proč v originální verzi mi neodpovídali časy na zamáčknutí tlačítka - muselo se podržet znatelně déle než byly v programu nastaveny časy.
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.