[ deniah @ 27.07.2008. 13:50 ] @
Pokusavam da napravim sledeci program. Pin GPIO.2 je izlazni i po ukljucenju je HI. Kada na pin GPIO.0 (koji je ulazni) dodje +5V posle 3 sekunde izlazni pin treba da je nisko. MCLR je vezan preko 4K7 na VCC. Koristim 12F629. Program je u picbasic-u. Konfiguraciona rjec je sledeca: MCLR=OFF, WDTE=ON, PWRTE=ON, BOREN=ON, IntOSC I/O.

Evo programa:

Code:
CMCON=7

ul var GPIO.0 'Define GPIO.0 pin as ul
izl VAR GPIO.2 'Define GPIO.2 pin as izl

High izl
Input ul

loop:
if ul=1 then
pause 3000
low izl
end if
goto loop



Moze li neko reci gdje grijesim?
[ vladabajic @ 27.07.2008. 14:05 ] @
pretpostavljam da imas problem da kada jednom ugasis, nece vise da se upali?
ili je nesto drugo. nisi naveo koji problem je u pitanju.
ako hoces da se stanje na gpio.2 uvek promeni stanje kada log1 dodje na gpio.0 (posle 3 ssec), onda naredbu LOW zameni za naredbu TOGGLE: ova naredba svaki put menja stanje datog pina...
nadam se da sam pomogao, a ako je u pitanju neki drugi problem, napisi malo detaljnije sta je u pitanju... :-)
[ deniah @ 27.07.2008. 14:16 ] @
Stanje na GPIO.2 je stalno visoko, bez obzira na stanje na GPIO.0 pinu.

Meni je potrebno da se po dolasku log1 na GPIO.0 promjeni stanje na GPIO.2 (sa High na Low), i ostane tako do iskljucenja uredjaja.
[ pelctronics @ 27.07.2008. 14:33 ] @
Traba da podesis registar smera TRISIO tako da bude GPIO.0 ulaz.

Pozz
[ pelctronics @ 27.07.2008. 14:44 ] @
Da video sam ,koristio si INPUT naredbu...uzmi u obzir sledece:

On the PIC12C5xx and 12CE5xx devices, pin GPIO.2 is forced to an input regardless of the setting of the TRIS register. To allow this pin to be used as a standard I/O pin, add the following line to the beginning of the program:

OPTION_REG.5 = 0


Pozz
[ Sepa011 @ 27.07.2008. 20:31 ] @
Citat:
pelctronics: Da video sam ,koristio si INPUT naredbu...uzmi u obzir sledece:

On the PIC12C5xx and 12CE5xx devices, pin GPIO.2 is forced to an input regardless of the setting of the TRIS register.


Jes, lepo si napisao 12C5xx i 12CE5xx, ali to i nije kod 12F629 koji covek koristi.

cudi me da niko nije primeto: MCLR=OFF, WDTE=ON, PWRTE=ON, BOREN=ON, IntOSC I/O

ne vidim u samom programcetu da se negde resetuje WDT. Posto je vec MCLR=OFF, komotno moze da se izbaci pullup na MCLR pinu (usteda ). Dalje ako se ovakva igracka koristi u okruzenju u kome napon napajanje nije dobro stabilisan, onda bi lepo moglo da se konfiguracija bude sledeca:

MCLR=OFF, WDTE=OFF, PWRTE=ON, BOREN=OFF, INTOSC I/O

Nadam se da je sada malko jasnije zasto je GPIO.2 stalno na visokom nivou
[ pelctronics @ 27.07.2008. 21:01 ] @
Ma video sam i to nego kasno...hehe ,pa reko da ustedim koji kb na serveru:)
A programce je mozda i u redu al hardverce u kakvom je stanju?
Pozz
[ deniah @ 27.07.2008. 21:58 ] @
Program je u redu, imao sam gresku u hardveru. Takodje iskljucio sam WDTE. Sada radi kako treba.

Hvala svima na pomoci.

Pozdrav
[ Sepa011 @ 28.07.2008. 17:46 ] @
Ako opet ukljucis WDT, jope nece da radi posto nigde u programu ne resetujes isti
[ rsinisa @ 01.08.2008. 11:17 ] @
Radice i ako ne iskljuci WDT jer PBP sam ubacuje ASM instrukciju CLRWDT na odgovarajuca mesta. Jedino ako stavi DEFINE no_clrwdt, onda mora rucno. E sad, tu je kod PBP-a napravljena, po meni, jedna lagana greska, ali ovo nije odgovarajuca tema za taj slucaj.

Pozdrav.
Sinisha