TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Simon21 en 15 de Enero de 2013, 13:29:03

Título: Prioridad de interrupciones en PIC 16F877A
Publicado por: Simon21 en 15 de Enero de 2013, 13:29:03
Hola a todos !!

He pasado horas buscando y en ningun lugar encuentro como estan organizadas las interrupciones
en el PIC16F877A.

Necesito saber esto ya que tengo varias interrupciones en mi programa y quiero saber de ante mano
cual se va a ejecutar primero en caso que sucedan al mismo tiempo, y en caso que se esté ejecutando
una, y ocurre otra que sucederá.

Cabe destacar que estoy usando CCS compilador PCWHD.

Agradeceria esta informacion, seguramente le servirá a mas de uno. :-/

Saludos a todos
Título: Re: Prioridad de interrupciones en PIC 16F877A
Publicado por: AKENAFAB en 15 de Enero de 2013, 13:48:14
El micro en si solo tiene un vector de interrupción.

en CCS se usa
Código: [Seleccionar]
#PRIORITY

Syntax:
 #PRIORITY ints

 
 
Elements:
 ints is a list of one or more interrupts separated by commas.

 

export makes the functions generated from this directive available to other compilation units within the link.

 
 
Purpose:
 The priority directive may be used to set the interrupt priority. The highest priority items are first in the list. If an interrupt is active it is never interrupted. If two interrupts occur at around the same time then the higher one in this list will be serviced first. When linking multiple compilation units be aware only the one in the last compilation unit is used. 

 
 
Examples:
 #priority rtcc,rb

 



Título: Re: Prioridad de interrupciones en PIC 16F877A
Publicado por: Simon21 en 15 de Enero de 2013, 14:53:35
Si eso lo sabía pero hasta donde entiendo, con el pic 16F877A no podés usar eso..

O por lo menos me dio error cuando quise compilar..

Por defecto no vienen cada interrupcion asignada una prioridad ??

Saludos
Título: Re: Prioridad de interrupciones en PIC 16F877A
Publicado por: AKENAFAB en 15 de Enero de 2013, 14:58:59
Si eso lo sabía pero hasta donde entiendo, con el pic 16F877A no podés usar eso..

O por lo menos me dio error cuando quise compilar..

Por defecto no vienen cada interrupcion asignada una prioridad ??

Saludos


EL pic solo tiene un vector de interrupción.

Con esas lineas determinas que interrupción tiene prioridad.En este ejemplo se ve como lo utilice (http://www.todopic.com.ar/foros/index.php?topic=30117.msg251606#msg251606)

Lo he utilizado en pic12F683 y funciona.

Dale una revisada a la sintaxis.