![Very Happy :D](./images/smilies/icon_biggrin.gif)
Interesuje me vaš savet,pomoć,zapravo,uradio sam serijsku komnukaciju sa dva pica-a 16f628a,u pic basic pro,pomocu
SERIN I SEROUT,komadi,testirao sam sa direktno sa žicom i preko 433Mhz,predajnikom i prijemnikom,i sve radi OK
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Ali mi je sad potrebno da predajni deo na kome se nalazi pic16f628a,radi na bateriji,
![Shocked :shock:](./images/smilies/icon_eek.gif)
Ostavio sam na test pločici,predajnika samo neophodne komponete,i merenjem mi se pokazalo, da kada je radnom režimu prenosa podataka, potrošnja uredjaja 10mA, u mirnom radu 3mA,predpostavljam da i tu regulator 78L05 vuče odredjeni deo struje,što mislim da je malo mnogo za potrošnju baterije
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
Tragao sam po netu,pa sam našao neke primere,interesujeme da li postoji mogućnost da se programnski dovede PIC u stanje minimalne potrošnje, komandama SLEP NAP, ili nekim drugim u picbasic-u, jer mi je u principu potrebno da samo kada se pritisne taster,izvši prenos podatka.
Code: Select all
@ DEVICE pic16F628a, INTRC_OSC_NOCLKOUT, pwrt_on, mclr_on, lvp_on,wdt_on,bod_on
include "modedefs.bas"
DEFINE OSC 4
CMCON=7
Define LOADER_USED 1
DEFINE CHAR_PACING 1000
DEFINE HSER_CLROERR 1
DEFINE HSER TXSTA 20h
DEFINE HSER_BAUD 1200
TMR1H = $60
TMR1L = $01
PIR1.0 = 0
PIE1.0 = 1
INTCON.3 = 1 ' Enable TMR1 peripheral interrupt
OPTION_REG = $7f
TRISA=%00001
TRISB=%00000001
PORTA=0
PORTB=0
PODACI VAR BYTE
PODACI=0
PAUSE 500
START:
IF PORTB.0=0 THEN
PODACI=10
GOSUB SLANJE_PODATAKA
ENDIF
IF PORTB.0=1 THEN
PODACI=20
GOTO PAUZA
ENDIF
GOTO START
SLANJE_PODATAKA:
serout PORTA.0,T1200,["D",PODACI]
RETURN
PAUZA:
low PORTA.0
IF PORTB.0=0 THEN
GOTO START
ENDIF
@ SLEEP
@ NOP
T1CON.0 = 0 ' Stop TMR1 on overflow wake-up
TMR1H = $60 ' Re-load TMR1 with $6001
TMR1L = $01
PIR1.0 = 0 ' Clear TMR1 over-flow int flag
T1CON.0 = 1 ' Re-start TMR1
GOTO PAUZA