toto vsetko chapem aj mi to perfektne funguje v aplikaciach.
Este na uplnom zaciatku sm si precital datasheet a nasiel som tam neco o OSCCAL registrom a bolo tam neco napisane ako :
CAL5:CAL0: 6-bit Signed Oscillator Calibration bits
111111 = Maximum frequency
100000 = Center frequency
000000 = Minimum frequency
ja som pod tym chapal ze ked do registru OSCCALL zapisem 111111 -> frekvencia vnutorneho oscilatora bude 4MHz a ked tam zapisem 1000000 -> frekvencia bude polovicna a tak dalej. Samozrejme ze mi to nefungovalo az kym som neprisiel na to ze to funguje tak ako je to uuuplne hore uvedene.
Takze moja otazka naco ja mozem zapisovat takto rucne do OSCCAL registra alebo co sa stane ked tam zapisem 111111 = Maximum frequency alebo ked tam zapisem 000000 = Minimum frequency,…
troska tomu nechpem.
Teda tej veci ze najskor vytiahnem kalibracnu konstantu z adresy 3ffh dam ju do OSCCAL registra to je v poho. ale teraz to tvoje doladovanie . vsak to sa tiez zapisuje do OSCCAL registra. tym padom sa ta kalibracna konstanta premaze mojou doladovacou hodnotou .
Mozno ma to blbosti zaujimaju ale co uz =)
Inak Peter ak smiem vediet kde si zohnal cesky datasheet na 12f629?
Nevím přesně jak funguje interní oscilátor, ale představme si že nějak takto.
Dejme tomu, že oscilátor má určitou toleranci, třeba 3,8 – 4,2 MHz podle obsahu registru OSCCAL. Při výrobě čipu zjistily potřebnou hodnotu pro registr OSCCAL kdy oscilátor běží co nejblíže 4 MHz a uložily ji na poslední místo v paměti. Změnou této hodnoty máš možnost upravit kmitočet směrem nahoru i dolu, ale určitě ne v rozsahu 0 - 4 MHz.
To co jsem napsal je jen moje teorie, ale nějak podobně to určitě bude.
Snad ti to k objasnění bude stačit.
Co se týče přeloženého datasheetu, zaregistruj se zde na fóru a uvidíš sám.
jj asi tak,tolerance je 3,92 … 4,08 MHz (Vdd = 5V), mela by bejt na srovnani oscilatoru co nejpresnejs na 4 MHz samo v naky toleranci , pokud ji zmenis tak se ti rozjede, teda pokud nechces nakej extra kmitocet