Vai al contenuto
PLC Forum


Problema Pic18 Interrupt


RESNIC

Messaggi consigliati

Buongiorno...

intanto ringrazio Ifach e Orsini per i loro rapidi interventi.....

Come anticipato nel post "DsPIC ne vale la pena" alla fine ho deciso di utilizzare un PIC18F2620 configurato come segue:

Ingresso I1 -> 74Hc14 -> INT0 del pic

Ingresso I2 -> 74Hc14 -> 4030 -> INT1 del PIC

Ingresso I3 -> 74Hc14 -> 4030 -> ed l'uscita è in xor con la precedente.

Nel SW ho Int0 come interrupt a livello alto, e Int1 a basso livello, ma quello che mi succede è che se vado a ecitare solo l1 tutto funziona correttamente, si genera l'interrupt e viene eseguita la routine giusta... mentre se ecito I2 o I3 mi genera un interrupt a basso livello e lo esegue , ma saltuariamente genera anche uno alto, ed va eseguire l'altro interrupt.... penso sia un problema di disturbi... altre idee?

Vi ringrazio

Link al commento
Condividi su altri siti


Innanzitutto volevo dirti di dare un'occhiata prima di tutto Qui

Leggendo il data-sheet si vede che gestisce gli interrupt o con alta o bassa priorita' (settabile) oppure se IPEN = 0 (default) lavora come i PIC che hai programmato fino ad oggi.

Se usi il primo modo se un interrupt ha una priorita' maggiore del secondo ed il secondo sta venendo processato , il secondo viene interrotto , viene eseguito quello a maggiore priorita' e poi ripassa al secondo.

Quindi attento al gestire i dati.

I tre interrupt esterni INT0 , INT1 , INT2 possono venire scatenati da L to H o da H to L , devi sincerarti di averli settati correttamente.

L'interrupt INT3 NON ESISTE !

Prova a controllare le priorita' ed i settaggi.

Ciao :)

Link al commento
Condividi su altri siti

Ciao IF,

Scusami se puntualizzo che il Sw l'ho già realizzato e per farlo mi sono già letto il Datasheet.....

Riformulo il quesito migliorando la formulazione spressiva...

" Nel SW ho Int0 (scatenato da ingresso digitale da campo I1) come interrupt a livello alto, e Int1 (scatenato da XOR tra ingressi digitali da campo I2 e I3) a basso livello, ma quello che mi succede è che se vado a ecitare solo l1 tutto funziona correttamente, si genera l'interrupt e viene eseguita la routine giusta (accendo un LEDV) ... mentre se ecito I2 o I3 mi genera un interrupt a basso livello, lo esegue ( accendo altro LEDR) , ma SALTUARIAMENTE genera anche uno alto, ed va eseguire l'altro interrupt perchè si accende il LEDV .... penso sia un problema di disturbi... altre idee?"

Spero che ora sia + chiaro... intanto ti ringrazio comunqu per il tup Aiuto.

PS: Con la serie 16 ho fatto solo un paio di schedine....

Link al commento
Condividi su altri siti

mentre se ecito I2 o I3 mi genera un interrupt a basso livello, lo esegue ( accendo altro LEDR) , ma SALTUARIAMENTE genera anche uno alto
Link al commento
Condividi su altri siti

Ciao IF,

L'interrupt funziona alla grande, il LEDR si accendeva perchè c'era accensione in un altro punto del programma, e poi c'era un errore per cui avveniva saltuariamente.... problema risolto.

Purtroppo programmo alla sera... e notte , quindi dopo 9 ore di lavoro qualche **** è lecita.

Grazie ancora per il consiglio, effettivamente la tecnica di togliere l'elettronica prima del micro è stato utile.

Link al commento
Condividi su altri siti

Ciao IF,

Ho un quesito da porti... non centra tanto con questo problema, ma centra cun questo progetto....

Sto progettando questa scheda che ha 1 ingresso analogico , i 3 ingressi sopracitati.... e un po di software per la memorizzazione dei valori analogici (3,6KB).... poi ho fatto comunicazione RS232 e programmino in Delphy per visualizzare la curva analogica memorizzata, ma direi che per ora questa parte la posso escludere dal preventivo....

1) qual'è la tariffa oraria per sviluppo...

2) secondo te quanto posso chiedere per il progetto sopra illustrato?

Siccome mi sto avventurando in questo "primo" progetto serio, non vorrei essere troppo esigente, ma neanche regalare....

PS: ieri sera ho presentato il prototipo e funziona... cliente soddisfatto.... per cui mi sono dato da fare senza anticipi...

Grazie

Link al commento
Condividi su altri siti

Non saprei proprio cosa dirti , perche' non ho mai fatto tali lavori per esterni se non per la mia azienda.

Se la cosa non ti demoralizza ti posso dire che i miei titolari invece di apprezzare il lavoro fatto (nonostante tutti i bastoni che mi hanno messo tra le ruote e la perfetta riuscita del progetto) , mi hanno detto che l'apparecchiatura che ho realizzato , con lo sputtanamento che c'e' sul mercato l'hanno dovuta regalare al cliente a parita' d'offerta per vincere l'ordine , peccato per loro che io sappia che con tali amenicoli ci guadagnano svariate decine di milioni :ph34r:

Sappi comunque che l'esperienza che mi sono fatto e' notevolissima , il problema e' forse quello di trovare (almeno in Italia) le persone che capiscono e apprezzano il lavoro che uno fa , invece di mettergli i bastoni fra le ruote come per dire che ti facciamo fare un certo lavoro quasi per farti un favore ... , mentre uno col proprio impegno trova applicazioni che permettono alla propria azienda di andare avanti ed avere vantaggi competitivi nei confronti delle altre aziende.

Ciao :)

Link al commento
Condividi su altri siti

" milioni" di euro????

Ok grazie.... sinceramente pure io sono dipendente, però mi occupo della parte commerciale.... ma per hobby sto facendo qualche schedina... e ti posso assicurare che clienti si trovano .... pensaci!!!

Ciao e grazie...

PS: Se qualcuno vuole fare il suo preventivo!!!

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...