Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Registro IOCA (PIC16F677)

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] Registro IOCA (PIC16F677)

Messaggioda Foto Utentemros » 29 ott 2013, 14:31

Buongiorno

Devo utilizzare l'interrupt RA2/INT sul PIC in oggetto.
Volevo chiedervi se devo configurare anche il registro IOCA poiché sul datasheet non ne parla ( o meglio parla solo per l'interrupt on-change.

grazie
Avatar utente
Foto Utentemros
10 1 5
Frequentatore
Frequentatore
 
Messaggi: 131
Iscritto il: 28 giu 2010, 9:23

0
voti

[2] Re: Registro IOCA (PIC16F677)

Messaggioda Foto Utentec1b8 » 29 ott 2013, 15:02

No, non serve impostare il registro IOCA.
Se guardi il datasheet a pag. 65 dove viene rappresentato lo schema a blocchi del pin RA2, puoi notare che il segnale "interrupt on change" dipende dal valore del flip-flop che salva il valore di IOCA (WR IOCA), mentre il segnale "to INT" non dipende dal valore di IOCA.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[3] Re: Registro IOCA (PIC16F677)

Messaggioda Foto Utentemros » 29 ott 2013, 16:02

Ciao Fabio

di fatti non avevo impostato quel registro (più per caso che volontario) ma purtroppo anche se porto alto il PIN A2 non succede nulla (l'interrupt non viene generato), puoi dare un occhio alla configurazione dei due registri:

MOVLW B'11000000'
MOVWF OPTION_REG
........
MOVLW B'10010000'
MOVWF INTCON

mha..
Avatar utente
Foto Utentemros
10 1 5
Frequentatore
Frequentatore
 
Messaggi: 131
Iscritto il: 28 giu 2010, 9:23

0
voti

[4] Re: Registro IOCA (PIC16F677)

Messaggioda Foto Utentec1b8 » 29 ott 2013, 16:07

Questi due registri mi sembrano correttamente configurati.
Ed il registro ANSEL come lo hai impostato? devi configurare RA2 come digitale
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[5] Re: Registro IOCA (PIC16F677)

Messaggioda Foto Utentemros » 29 ott 2013, 16:13

Purtroppo si !

CLRF ANSEL
CLRF ANSELH
Avatar utente
Foto Utentemros
10 1 5
Frequentatore
Frequentatore
 
Messaggi: 131
Iscritto il: 28 giu 2010, 9:23

0
voti

[6] Re: Registro IOCA (PIC16F677)

Messaggioda Foto Utentec1b8 » 29 ott 2013, 16:32

Bella storia. Immagino che anche il resto sia corretto, ricapitolando:
- RA2 configurata come input
- RA2 configurata come digitale
- Comparatori disabilitati (registri CM1CON0 e CM2CON0), dovrebbero esserlo per default.
- Configurare OPTION_REG e INTCON come hai fatto
- Il pin RA2 deve passare da basso ad alto per generare l'interrupt
- Nella routine di interrupt porre a '0' il bit INTF di INTCON per avere più interrupt

Non mi viene in mente altro come configurazione.
Se vuoi provare a postare il codice...
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[7] Re: Registro IOCA (PIC16F677)

Messaggioda Foto Utentemros » 29 ott 2013, 16:51

beh....guardando il tuo messaggio mi viene in mente una cosa.....
non ho messo la resistenza di push-down sulla porta A2, quindi potrebbe non rilevare mai il passaggio da zero a uno....

che ne dici?
Avatar utente
Foto Utentemros
10 1 5
Frequentatore
Frequentatore
 
Messaggi: 131
Iscritto il: 28 giu 2010, 9:23

0
voti

[8] Re: Registro IOCA (PIC16F677)

Messaggioda Foto Utentec1b8 » 29 ott 2013, 17:07

Potrebbe, anche se mi sembra un po' forzata.
Se non ti è possibile inserire una resistenza per prova potresti abilitare le pull-up e testare l'interrupt sul passaggio da alto a basso.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[9] Re: Registro IOCA (PIC16F677)

Messaggioda Foto Utentemros » 29 ott 2013, 17:31

è una prova che farò appena torno a casa.

come posso postare il codice?
Avatar utente
Foto Utentemros
10 1 5
Frequentatore
Frequentatore
 
Messaggi: 131
Iscritto il: 28 giu 2010, 9:23

0
voti

[10] Re: Registro IOCA (PIC16F677)

Messaggioda Foto Utentec1b8 » 29 ott 2013, 17:34

Copialo dentro il tag [code], trovi il pulsante sopra alla box di input del messaggio di risposta.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

Prossimo

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti