system
January 15, 2012, 8:57pm
#1
Quiero conectar un pcf8574a al i2c del arduino. Pero quiero que este lea cuando se activa la interupcion del pfc8574a.
como puedo hacerlo??
extracto del codigo para arduino uno.
#include <Wire.h>
int dato;
void setup()
{
Wire.begin();
attachInterrupt(0, canvio, FALLING);
}
void loop()
{
}
void canvio()
{
Wire.requestFrom(57,1);
dato=Wire.receive();
}
[code/]
system
January 15, 2012, 10:45pm
#2
une la linea de interrupción a la digital 2 de arduino por ejemplo y en la rutina de interrupción haces que lea del dispositivo.
cuida la ortografía por favor
un saludo
system
January 17, 2012, 7:32pm
#3
Gracias por tu solución
El código quedaría así.
#include <Wire.h>
int dato;
int lectura;
void setup()
{
Wire.begin();
pinMode(2,INPUT);
Wire.requestFrom(57,1);
dato=Wire.receive();
}
void loop()
{
lectura = digitalRead(2);
if(lectura == LOW){
Wire.requestFrom(57,1);
dato=Wire.receive();
}
...
}
Esto me sirve para descongestionar el i2c, pero sigo sin saber cual es la verdadera función de las interrupciones.
system
January 17, 2012, 8:55pm
#4
no tienes bien el código
leete
http://arduino.cc/en/Reference/AttachInterrupt
la función de lectura no debes meterla en el loop sino en una función aparte, de manera que al habilitar la interrupción y dependiendo de como la habilites, según lo que pase en la patilla 2 ejecutará la función de la interrupción .
un saludo
es como tienes el código del principio (cambio con b) , unes la patilla de INT del PCF con la patilla 2 de arduino y listo
ionhs
January 20, 2012, 4:49pm
#5
Paasate pir el playground escribi un documento sobre las interrupciones. Salu2