Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Záměna Atmega168 za Atmega16

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
bart1



Založen: Jul 12, 2004
Příspěvky: 132

PříspěvekZaslal: st květen 31 2017, 21:08    Předmět: Záměna Atmega168 za Atmega16 Citovat

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



SI4735_AVR_Bascom.zip
 Komentář:

Stáhnout
 Soubor:  SI4735_AVR_Bascom.zip
 Velikost:  7.9 kB
 Staženo:  214 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
mtajovsky



Založen: Sep 19, 2007
Příspěvky: 3697
Bydliště: Praha

PříspěvekZaslal: st květen 31 2017, 23:02    Předmět: Citovat

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í.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
AB1



Založen: Nov 23, 2009
Příspěvky: 312

PříspěvekZaslal: čt červen 01 2017, 6:56    Předmět: Citovat

Máš nastavený malý stack.
Zkus jestli pomůže

kód:
$hwstack = 128
$swstack = 64
$framesize = 64
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ondra2



Založen: Mar 19, 2014
Příspěvky: 537

PříspěvekZaslal: čt červen 01 2017, 7:34    Předmět: Citovat

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é.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ruprecht



Založen: Sep 28, 2005
Příspěvky: 1279
Bydliště: ZČ + JM

PříspěvekZaslal: čt červen 01 2017, 8:03    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nekmil



Založen: Mar 06, 2005
Příspěvky: 787
Bydliště: Havířov

PříspěvekZaslal: čt červen 01 2017, 15:36    Předmět: Citovat

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

"Dim R1 As Byte , R2 As Byte , R3 As Byte"

_________________
http://tesinsko.cz/webcams/rondel
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
bart1



Založen: Jul 12, 2004
Příspěvky: 132

PříspěvekZaslal: čt červen 01 2017, 16:46    Předmět: Citovat

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 Smile
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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
Ruprecht



Založen: Sep 28, 2005
Příspěvky: 1279
Bydliště: ZČ + JM

PříspěvekZaslal: čt červen 01 2017, 19:30    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
AB1



Založen: Nov 23, 2009
Příspěvky: 312

PříspěvekZaslal: pá červen 02 2017, 6:04    Předmět: Citovat

citace:
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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
bart1



Založen: Jul 12, 2004
Příspěvky: 132

PříspěvekZaslal: pá červen 02 2017, 7:24    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
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

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

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.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.22 sekund