Diferencia entre revisiones de «PCINT»

De ArduWiki
Saltar a: navegación, buscar
(Comentarios)
(Comentarios)
Línea 15: Línea 15:
  
 
== Comentarios ==
 
== Comentarios ==
 +
{|class="wikitable"
 +
|+INT en Arduino [[UNO]] y [[NANO]]
 +
|-
 +
!Pin!!Port!!PCINT!!INT
 +
|-
 +
|2||PD2||INT0
 +
|-
 +
|3||PD3||INT2
 +
|}
  
 
{|class="wikitable"
 
{|class="wikitable"
|+Para Arduino [[UNO]] y [[NANO]]
+
|+PCINT en Arduino [[UNO]] y [[NANO]]
 
|-
 
|-
 
!Pin!!Port!!PCINT!!Pin!!Port!!PCINT!!Pin!!Port!!PCINT
 
!Pin!!Port!!PCINT!!Pin!!Port!!PCINT!!Pin!!Port!!PCINT

Revisión del 16:55 23 sep 2019

Descripcion

Existen dos tipos de interrupciones externas:

  • INT, interrupciones de harware externo
  • PCINT, interrupciones Pin Change, que actual a nivel de bancos completos.

Sintaxis

PCICR;
PCMSK0;
PCIFR;
ISP(PCINT0_vect) //D8 a D13
ISP(PCINT1_vect) //A0 a A5
ISP(PCINT2_vect) //D0 a D7

Comentarios

INT en Arduino UNO y NANO
Pin Port PCINT INT
2 PD2 INT0
3 PD3 INT2
PCINT en Arduino UNO y NANO
Pin Port PCINT Pin Port PCINT Pin Port PCINT
2 PD2 PCINT18 8 PB0 PCINT0 A0 PC0 PCINT8
3 PD3 PCINT19 9 PB1 PCINT1 A1 PC1 PCINT9
4 PD4 PCINT20 10 PB2 PCINT2 A2 PC2 PCINT10
5 PD5 PCINT21 11 PB3 PCINT3 A3 PC3 PCINT11
6 PD6 PCINT22 12 PB4 PCINT4 A4 PC4 PCINT12
7 PD7 PCINT23 13 PB5 PCINT5 A5 PC5 PCINT13

Advertencias

Ejemplo

// Activar PCINT en un PIN
void pciSetup(byte pin){
    *digitalPinToPCMSK(pin) |= bit (digitalPinToPCMSKbit(pin));  //activar pin en PCMSK
    PCIFR  |= bit (digitalPinToPCICRbit(pin));                   //limpiar flag de la interrupcion en PCIFR
    PCICR  |= bit (digitalPinToPCICRbit(pin));                   //activar interrupcion para el grupo en PCICR
}
 
// Definir ISR para cada puerto
ISR(PCINT0_vect) {    
  //gestionar para PCINT para D8 a D13
}
 
ISR(PCINT1_vect){
  //gestionar PCINT para A0 a A5
}  
 
ISR(PCINT2_vect){
  //gestionar PCINT para D0 a D7
}  
 
void setup(){  
   //Activar las PCINT para distintos pins
   pciSetup(7);
   pciSetup(8);
   pciSetup(9);
   pciSetup(A0);
}
 
void loop(){
   //Nada
}

Vea tambien

  • [INT]

Referencias externas

  • [1] - Luis Llamas