Modification Arduino Mega2560 en 3.3V -> problème intéruptions...


bonjour à tous,

comme vu dans mon précédent post, j'ai modifié un arduino mega 2560 en 3.3v. par contre j'ai laissé le quartz 16mhz, et le bootloader est celui d'origine, qui utilise donc le quartz.

tout semblait bien fonctionner jusqu'à ce que je veuille utiliser les interruptions sur les pin 2 et 3 du mega2560... j'ai utilisé 2 interruptions (pour 1 bouton poussoir et 1 accéléromètre adx345) un en "rising" et l'autre en "falling". mais rien ne fonctionne: l'interruption ne se déclenche pas... pourtant le même code sur un arduino pro mini 3.3v (et même câblage) fonctionne très bien.

est-ce le fait de passer d'une tension de 5v à 3.3v qui foutu la mer** ?
si je fais une lecture, via digitalread, je vois pourtant bien les bonnes valeurs de l'entrée.

programme:

dans le setup:
code: [select]

  attachinterrupt(1, accelinterrupt, rising);
  attachinterrupt(0, switchinterrupt, falling);



fonctions pour les inter.
code: [select]
/**************************/
void accelinterrupt()
{
  adxlint = true;
}
/**************************/

/**************************/
void switchinterrupt()
{
  swint = true;
}
/**************************/



et dans le loop je met l'arduino en veille grace à librairie "lowpower" par cycle de 8 secondes, en temps normal l'interuption réveille l'arduino, ensuite je check qui généré l'interuption (via les variables adxlint et swint), ensuite je fais le traitement adequat.

et la rien ne se passe... si pendant la veille je secoue l'accéléro ou j'active le sw.... et bah rien ne se passe, l'arduino ne se reveil pas et même au reveil quand il check ses variables, elles ne sont pas à "true".

code: [select]
  //mise en veille - réveil via interuption ou toutes les 8 secondes.
  lowpower.powerdown(sleep_8s, adc_off, bod_off);



par contre si je change "attachinterrupt(0, switchinterrupt, falling);" par "attachinterrupt(0, switchinterrupt, low);" cela détecte bien le niveau bas, mais ce n'est pas ce que je veux, et je ne comprend pas pourquoi il détecté bien un niveau bas, mais pas un "falling" ....

avez-vous une idée ??  :o

merci pour votre aide.



Arduino Forum > International > Français (Moderators: jfs, Snootlab) > Modification Arduino Mega2560 en 3.3V -> problème intéruptions...


arduino

Comments

Popular posts from this blog

Error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode - Raspberry Pi Forums

class MPU6050 has no member named begin

missing filename after '-o'