Zaslal: út březen 18 2008, 16:58 Předmět: PIC16F627 nefunguje
Dobrý den, udělal jsem takovou hloupou aplikaci, kde mi bliká jedna LED dioda. Odzkoušel jsem to na emulátoru od Asixu a vše fungovalo. Poté jsem program nátáhl do procesoru a když jsem jej spustil nic se nestalo. Netušim ani ,kde bych měl hledat chybu. Tišťák se zdá být v pořádku a program taky. Ovšem v manuálu od Microchipu sem nalezl různé proměnné, které se definují, ale u nikoho jsem je nenašel v programu. Prosím o pomoc...díky...
Založen: May 09, 2006 Příspěvky: 171 Bydliště: Morava
Zaslal: út březen 18 2008, 19:23 Předmět:
Zkusil bych změnit oscilátor z RC na XT _________________ Jak sem se dostal k elektrotechnice? No to je jednoduché, kdy sem byl malý měl sem strašně moc rád stavebnice a to mi zůstalo ... a řekněte mi, která stavebnice má víc součástek
Založen: May 09, 2006 Příspěvky: 171 Bydliště: Morava
Zaslal: út březen 18 2008, 22:14 Předmět:
A nastavil si správně ty konfigureční bity (jako že chces používat krystal, že nechces používat watchdog atd.) ? _________________ Jak sem se dostal k elektrotechnice? No to je jednoduché, kdy sem byl malý měl sem strašně moc rád stavebnice a to mi zůstalo ... a řekněte mi, která stavebnice má víc součástek
tak jsem to celé zkopíroval a prohnal emulátorem, ten to vše přijal až na _DATA_CP_OFF - není definovaná a tak jsem jí smazal... když sem to pustil na emul. tak to fungovalo...ale po natažení do procesoru to pořád nefunguje...chtěl jsem se zeptat na pár věcí: proč tam jsou na začátku programu příkazy pro přerušení a proč tam jsou přidané proměnné jako TIME0,1 a 2? co znamená errorlevel - 302 a co znamenájí ty definice v řádku a co znamená CBLOCK RAM_Start ?
zřejmě je v tvém kompileru starší verze souboru P16f627.inc, to lze snadno napravit. V prostředí MPLAB 8.0 je to legální konstrukce.
kód:
ale po natažení do procesoru to pořád nefunguje
Jaký používáš krystal? Do 4MHz je vhodné použít _XT_OSC místo _HS_OSC v direktivě __CONFIG.
kód:
proč tam jsou na začátku programu příkazy pro přerušení
První NOP na adrese 0x000 je rezervace pro ICD - In Circuit Debugging, tebe se to s emulátorem netýká, můžeš to vypustit. ORG 0x004 rezervuje prostor pro přerušení a na místo budoucího vektoru jsem vložil tu druhou NOP. Žádné přerušení v programu neexistuje ale brzo to budeš potřebovat.
kód:
proč tam jsou přidané proměnné jako TIME0,1 a 2
To nejsou proměnné, nýbrž konstanty.Chtěl jsem ti prezentovat, že je naprosto zcestné používat přímo v programu číselné konstanty. Pokud bys chtěl v původním programu konstantu D'30' změnit, musel bys to dělat na třech místech. Ve složitějším programu je to jen zdrojem chyb.
kód:
errorlevel - 302
Je příkaz, který potlačí chybová hlášení o přepínání bank. U složitějších programů budeš moc rád, že ho znáš, protože tohle hlášení nic neřeší, ale hodně překáží.
kód:
CBLOCK RAM_Start
Předtím definovaná konstanta RAM_Start ukazuje na počátek použitelné RAM. Příkaz CBLOCK definuje počátek pole uživatelských promněných. Mezi CBLOK a ENDC píšeš svoje proměnné a nemusíš jim přiřazovat absolutní adresy třeba pomocí EQU, jak jsi to udělal ty.
kód:
co znamenájí ty definice v řádku
Je to nastavení jednotlivých konfiguračních bitů procesoru. Jejich význam najdeš v datasheetu třeba pod pojmem configuration bits.
Pokud v direktivě __CONFIG dáš na místo parametru _HS_OSC parametr _INTRC_OSC_NOCLKOUT, tak by měl být použit interní oscilátor. Připojený krystal nebude ničemu vadit.
Krystal může spolehlivě kmitat s emulátorem, ale s reálnou PIC nemusí. Chce to zkusit nejprve asi s tím interním oscilátorem. Bez inicializace pracuje na 4MHz. Použij
tak _INTRC_OSC_NOCLKOUT to jako příkaz nebere, ale to by nebyl problém, když tam ten krystal je připojenej, ale pořád to nefunguje,...jako b to vůbec nežilo a přitom je napětí jak na plusu tak na MCLR a když tam program vypálím, tak ho i zpětně kontroluji, zda tam je... a vždy tam je...
Najdi soubor P16f627.inc a zkontroluj parametr _INTRC_OSC_NOCLKOUT. Bude tam nejspíš, jen v trochu jiné podobě.
S tímto parametrem krystal nepotřebuješ. Čím vlastně programuješ? Programuješ i s konfiguračním slovem? Přečti kompletně obsah procesoru a pošli mi ho emailem.
Časy uváděny v GMT + 1 hodina Jdi na stránku 1, 2, 3Další
Strana 1 z 3
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.