1

Bonjour,

Je souhaite realiser un systeme de combo au niveau du gamepad.
En theorie, je pense que je devrais realiser une temporisation pendant
l'attente d'une touche. Cela me permettrai de prendre plusieurs touche
au cours de ce lapse de temps. Le probleme est que je ne sais pas
comment faire un timer et je n'ai pas trouve de documentation concluante
sur le net.

Savez comment utiliser un tel timer ?

PS: je programme en C et j'utilise aucune librairie.

2

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

3

Merci pour le lien.

J'ai essayer d'appliquer mais je n'arrive a aucun resultat concluant.
En gros j'ai active le timer 1 avec un ratio de 64 donc un cycle de 0.25us
et le timer 2 en cascade. Ensuite j'attends l'attente d'une touche pendant
10 cycles.

#define TIMER1_CR               *(volatile u16 *)0x4000106
#define TIMER2_CR               *(volatile u16 *)0x400010A


#define TIMER1_DATA            *(volatile u16 *)0x4000104
#define TIMER2_DATA            *(volatile u16 *)0x4000108

#define ENABLE_TIMER           (1 << 7)
#define IRQ_TIMER              (1 << 6)
#define CASCADE_TIMER          (1 << 2)

#define RATIO_64                 0x1

int    get_key(void)
{
   int key;
   u16  cycle;

   TIMER1_CR = RATIO_64 | ENABLE_TIMER | IRQ_TIMER;
   TIMER2_CR = CASCADE_TIMER | ENABLE_TIMER;
   key = 0;
   while ((cycle = TIMER2_DATA) < 10)
   {
        /* Gestion des touches.*/
   }
   return (key);
}