Stránka 1 z 1
Jak je to s bity BG0 BG1
Napsal: 26 dub 2014, 10:06
od KopalJaroslav
Bity 12 - 13 BG0 BG1 v registru CONFIG WORD které určují napěťovou úroveň kdy dochází k RESETU. Dají se tyto bity nastavit známou konfugurační formulí __config _BODEN_OFF & _CP_OFF & _PWRTE_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF &_CPD_OFF pakliže ano tak jak? V IC progu je možnost nastavení roletového menu Default, Bandgap 00 - 11b Když pak ale 12F629 načtu tak se tam zase objeví Default, jako by se nic nenaprogramovalo. Dají se tyto bity BG0,BG1 vůbec nastavit uživatelem a nebo jsou po smazání už neobnovitelné? Píší něco o tom že jsou defaultně nastavené z výroby (něco jako kalibrační bity oscilátoru.) Mám ten problém že se mi negeneruje RESET ale jen po delším vypnutí, když je to vypnuté víc jak 3 minuty. Přitom napájecí napětí (na procesoru) je totální nula. Když je to vypnuté jen pár vteřin je tam podle oscila zbytek jen asi 0,3 - 0,4V a resetuje to!!! To je právě ta záhada. Prostě když to nechám vypnuté dýl, tak se reset neprovede, protože program se nespustí. V programu používám i ext. přerušení, z počátku je zakázané a přesto nic...! Napadá někoho něco?
Napsal: 26 dub 2014, 10:23
od KopalJaroslav
Jo a abych nezapoměl, náběh napájecího napětí je v obou případech takřka ideální strmá hrana.
Napsal: 26 dub 2014, 12:55
od hakamusai
Zkoušel jsem to na 12F675 a dělá to to samý (taky to nejde).
Napsal: 26 dub 2014, 13:47
od KopalJaroslav
Dík i za tuhle odpověď. Ty kalibrační bity oscilátoru se ale programovat dají bez problémů. Jejich hodnotu hex nastavenou už z výroby je akorát dobré si předem někam zapsat. Ty 2 bajty určují aby se hodnota vnitřního oscilátoru co nejvíce přibližovala 4 MHz. Jsou ale někde docela jinde, na posledních 2 bajtech paměti programu. Tady ty 2 bity BG0 BG1 se mi ale zatím naprogramovat a přeprogramovat nikdy nepodařilo. Teď bych to chtěl zkusit ale kolo belo. Ale možná se tu ozve někdo kdo ví jak na to. Ale zkusím to ještě tímhle: org 0x2007; adresa konfigurace PIC16F629 a 675
dw _BODEN_OFF & _CP_OFF & _PWRTE_OFF & _WDT_OFF ...atd.
Napsal: 26 dub 2014, 14:40
od hakamusai
Chyba -pořád to nejde.
Napsal: 26 dub 2014, 19:14
od KopalJaroslav
..................BB
..................GG
................. 10
...................||
...................||
__config b'11000110010100'
...................|............................|
.................13. bit....................0.bit
Další možnost (binárního) zápisu konfiguračního slova, ale roletka Bandgap v ic Progu se zpětným načtením naprogramovaných dat z PIC12F629 stejně nezmění....
Napsal: 26 dub 2014, 21:29
od hakamusai
Presto má přímý zadání konfigurační hodnoty v hexa -tj:
__config b'11000110010100' = 31 94 HEX
Taky to nejde.(zapíše se to,ale zpětně se načte 0194)
Napsal: 26 dub 2014, 22:32
od KopalJaroslav
Ještě zkusím načíst docela nové, ještě nepoužité mikrokontroléry zdali někde najdu něco jiného než 00.
Napsal: 27 dub 2014, 07:24
od Chenzee
Ani MPLabu není možnost nastavovat tyto bity, takže si myslím, že jejich změna oproti výchozímu nastavení není možná.
Napsal: 27 dub 2014, 09:17
od KopalJaroslav
Nepoužívám MPLAB. Je to dýchavičný těžkopádný moloch. Používám k plné spokojenosti assemblerový překladač MPASM 4.01 např.
http://www.findthatzip-file.com/search-2213685-hZIP/winrar-winzip-download-mpasm.zip.htm originál JDM
http://perso.wanadoo.es/pictob/jdm.htm programátor (ne ten upravený od Belzy) a icProg
http://www.ic-prog.com/index1.htm. Píšu to v osvědčeném editoru PFE
http://www.lancaster.ac.uk/~steveb/cpaap/pfe/pfefiles.htm Vše je to FREE volně ke stažení akorát COM na počítači musí dávat 20 mA na signál. Není - li toto splněno programátor JDM nefunguje!
Načítáním obsahů nových čipů jsem ale přišel na to, že v každém čipu jsou bity patrně už z výroby nastavené různě, nejčastěji na 11b ale našel jsem v nich i hodnoty 00b nebo 01b. Pukud roletové menu v icProgu nastavíte na Default máte tam při čtení čipu pořád jen Default. Jakmile tam ale nastavíte třeba Bandgap 00b tak po načtení obsahu čipu vám tam naskočí třeba Bandgap 11b a to pokaždé! Čili tento obsah tam skutečně je! Jinak bity jsou v datasheetu označeny jako R/P-1 což by mělo být to že je určený pro čtení i programování a z výroby by měl být nastavený do jedničky. Tak nevím...!