detection de front montant

detection de front montant - C - Programmation

Marsh Posté le 03-01-2012 à 19:48:38    

Bonsoir,
 
Je voudrais lancer une temporisation sur un front montant.
Donc pour expliquer d'avantage, je surveille l'état d'une entrée logique, donc dés qu'elle passe à 1, je lance une temporisation.
 
Le code que j'utilise actuellement est :
 
void main ()
{
int Etat = 0;
int EtatPrecedent = 0;
 
securite ();
}
 
void securite ()
{
EtatPrecedent = Etat;
Etat = Entrees.Logiques.Etat.NA.E_PARK;
 
if (Etat != EtatPrecedent)
{
if (Etat == 1)
{
TemporisationLance(TpParking, TEMPS_ATTENTE_PARKING);
}
}
}
 
Le problème est que la temporisation ne se lance jamais, et donc il ne rentre jamais dans la boucle ( méme quand l'entrée logique passe de 0 à 1)
 
Je ne sais pas si ca viens de l'initialisation de "etat" et "etatprecedent" ou ...
 
Merci de me répondre car je n'arrive vrmnt pas a savoir d ou ca peut venir et ca fait un petit moment que je bloque dessus.
 
merci

Reply

Marsh Posté le 03-01-2012 à 19:48:38   

Reply

Marsh Posté le 03-01-2012 à 23:38:56    

utilise un while.
 
Si c'est sur microcontroleur pense aux interruptions pour faire ce genre de truc.


---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed