Go Down

Topic: interrupt, 74hc165 et shiftIn (Read 608 times) previous topic - next topic

ST

Apr 18, 2010, 11:53 pm Last Edit: Apr 19, 2010, 08:32 am by Soultracker Reason: 1
Bonjour,

Quelqu'un aurait-il déjà eu l'idée d'utiliser un interrupt avec une 74hc165?

Sur mon interface de contrôle, j'ai 6 boutons reliés à ma 74hc165. Je récupère sans problème la valeur des 6 (façon serial, comme indiqué dans le tuto). ça fonctionne bien quand tout ça est dans loop().

Je voulais attacher mes contrôles à un interrupt et faire en sorte que lorsqu'un des boutons est pressé, l'ISR (IRQroutine) se met en route et fait ce qu'elle a à faire.
Mais voilà, pour tester:
Code: [Select]

#include <LiquidCrystal.h>//LCD
//definition

const int latchPin= 4;
const int dataPin= 3;
const int clockPin= 2;

LiquidCrystal lcd(9, 8, 10, 11, 12, 13);

volatile int interact=0;

//prototype
void UserAction();

void setup () {
 lcd.begin(16,2);
 pinMode(latchPin, OUTPUT);
 pinMode(clockPin, OUTPUT);
 pinMode(dataPin, INPUT);

 attachInterrupt(1,UserAction,CHANGE);

}

void loop (){
  if(interact==1)
     {
       lcd.clear();
       lcd.print("ok");
       delay(500);
       interact=0;
     }
   else
     {
       lcd.print("nope");
     }
}

void UserAction(){
interact=1;
}


Rien de compliqué, me semble-t-il.

Où: Q7 (dataPin) de la 74hc165 est connecté sur DP3 (alias interrupt 1)

Résultat: il ne m'affiche "ok" que lorsque je pousse sur le bouton ayant l'adresse 0x80.

Si quelqu'un l'a déjà fait... je veux bien l'info, ou tout autre avis
:-?

Merci

ST

Si ça intéresse quelqu'un j'ai résolu mon problème en installant un porte OU (fait main avec des diodes) à laquelle son reliés les boutons.
La porte OU est reliée à la pin 3 (interrupt 1).
Dès qu'un bouton des 6 boutons est pressé, l'ISR se met en route.


moustic

Salut, je serais vraiment intéressé par un petit schema du montage. tu peux mettre ça ?

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy