Dobrý deň,
chcel by som sa spýtať, či niekto nemá skúsenosti s PicKit3 a PIC12F629. Jedná sa o to, že mi stále vypisuje, že je aktívny vnútorný oscilátor a MCLR a naozaj už neviem ako sa toho zbaviť. Chcem nastaviť MCLR ako vstup pre mikrospínač (aktívny v log1), aby mi prepínal režimy blikania LED, zaitaľ dvoch a časom ôsmich. Vôbec sa mi nedarí to naprogramovať a netuším, kde je chyba. Ďakujem za akékoľvek rady.
samotný program :
[code] #include <htc.h> #include <pic12f629.h> #define _XTAL_FREQ 4000000 #pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSC oscillator: I/O function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled) #pragma config PWRTE = OFF // Power-Up Timer Enable bit (PWRT disabled) #pragma config MCLRE = OFF // GP3/MCLR pin function select (GP3/MCLR pin function is digital I/O, MCLR internally tied to VDD) #pragma config BOREN = ON // Brown-out Detect Enable bit (BOD enabled) #pragma config CP = OFF // Code Protection bit (Program Memory code protection is disabled) #pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
V tom chyba nebude. RESET je jako IN pořád a TRISIO,3 je pouze ke čtení. Sice C neumím, ale interní oscilátor je _INTRC_OSC_NOCLKOUT a vypnutí resetu je _MCLRE_OFF, nedávno jsem to řešil a u toho to PIC je zajímavě napsaný INC soubor.
skúšal som napísať aj TRISIO = 0b00001000; a stále som na tom istom.
ako prvú vec mi vyhodí
Target has invalid calibration data (0x3f).
Zrejme niečo s konfiguračnými bitmi, ktoré sú hneď na začiatku.
potom mi vyhodí tabuľku , že oba oscilátory sú aktívne a tým pádom aj MCLR, to je najväčší problém, lebo ten chcem mať ako vstup a stále sa mi tam striedajú Log1 a Log0 čiže program sa ovláda sám. Robím to v Cčku, pretože ASM takmer vôbec neovládam, aj keď som z neho maturoval pred 13rokmi…
Jestli jsi si přepsal kalibrační konstantu, tak použij tohle: picprojects.org.uk/projects/recal/recal.htm
Taky se mi to kdysi přihodilo a zrovna jsem potřeboval trochu více přesnosti bez krystalu. Jinak doporučím načíst nový prázdný PIC a tu konstatntu si opsat a pak programovat. Já si ji poznačil dospodu PICu.
Vyzerá to tak, že sa problém odstránil prepojením Vdd a GP3 s 10kΩ rezistorom, zatiaľ to ide ako má… Reaguje na spínač a prehadzuje režimy, síce nie presne ako má, ale to doladím. Ďakujem za rady
Nikdy jsem se s tímhle problémem nesetkal. I když je pravda že jsem ho programoval jednoduchoučkým programátorem JDM na sériový port. Spolupracuje skvěle se sw ICprog. Podmínkou je, že výstupy sériového portu musí dát minimálně 20 mA. Taky se na čipu dají nastavit interní slabé odpory (asi 100 kOhm) z bází tranzistorů na Ucc. PicKit3 sice mám ale ještě jsem ho nepoužil. Nelíbí se mi dýchavičnost sw MPLAB který je nutno použít. Na assembler používám MPASM : google.cz/search?q=jdm+prog … 52&bih=539