Probleme De Programmation

  • 2 Réponses
  • 2095 Vues

0 Membres et 1 Invité sur ce sujet

*

kingspy

Probleme De Programmation
« le: mai 05, 2004, 11:42:34 »
Bon voila en stage je dois realiser une interface lcd grafique évolué de A à Z (la carte gere un ecran, un clavier matriciel 5*5, 3protocoles differents de communication) et divers module secondaire.
La partie partie graphique fonctionne correctement et les protocoles sont en cour, le probleme vient de la partie la plus simple evidament ;) .

Je sais cela manque d'elegance et d'optimisation mais bon vu que sa refuse de marcher j'ai fais o plus simple.
Le registre.h stoke toute les adresses de mes ports, registres et mes variable globales.

Le programme rentre bien dans l'interruption lorsque l'on presse une touche mais fait n'importe quoi apres.
Le PORTC  permet de scanner le clavier et le portf recupere la touche presser.


#include <registre.h>  
#pragma TRAP_PROC SAVE_REGS
void interrupt ei1 (void)   //declencher sur interruption clavier
{ char col,x,z,t,ligne1,ligne2;

ligne1=*PORTF&0x07; //ligne determiner

t=0x00;z=0x01;

rebond=0x0F;
clav_rebond();     // temps de rebond     (52ms par defaut)

while(t<0x08)
    {
                t++;
                *PORTC=z;
   z=z*2;
   Tempo_1m();
   x=(*PORTF&0x07);

   if(x==ligne1)
   col=t; // colonne determiner      
     }

if(col==0x08) // si colone non trouvée
col=0;   

t=Tab_clav[ligne1][col]; // transforme ligne colone en un caractere
 
ligne2=ligne1;   // Atta le relachement de la touche
while(ligne1==ligne2)
   {   ligne2=*PORTF&0x07; }


*PORTA=~*PORTA;  // sert verifier que l'interuption fct (connecter à des LED)

BUFFER[Cur_buffer]=t; //affiche la lettre pressée  
Cur_buffer++;

clav_rebond();     // temps de rebond     (52ms par defaut)
*PORTC=0xFF;

}

shema du clavier:
PORTC(5bits)
 | | | | |
OOOOO--
OOOOO--
OOOOO--Codeur 8par3 => PORTF(3bits)
OOOOO--
OOOOO--


Le debugueur de l'entreprise mais plus de 10min pour realisé juste l'initialisation :( et ne gere pas les interruption  donc je fais tout au filing avec mes led  <_<

Si quelqu'un trouve qu'il me fasse signe.  :bye:  

*

Hors ligne Alban

  • *****
  • 6 344
    • Cafeduweb.com
Probleme De Programmation
« Réponse #1 le: mai 05, 2004, 12:17:20 »
Je passe :D

kingspy tu as un problème juste pour l'initialisation du programme qui est trop longue ?

:bye:

*

kingspy

Probleme De Programmation
« Réponse #2 le: mai 05, 2004, 12:30:58 »
non l'initialisation marche tres bien c juste leur debuggeur qui va pas une canette  :bye: