Go Down

Topic: DS1820 et Keypad (Read 2 times) previous topic - next topic

Gozaki

tu mets une interruption toutes les secondes...

Gozaki
----------------------------
www.laboelectronique.be

Jean-François

#6
Nov 22, 2010, 06:13 pm Last Edit: Nov 22, 2010, 06:15 pm by jfs Reason: 1

Maitriser le temps

Tu remplaces SDL_GetTicks par millis()  ;)

Ainsi si ta boucle est faite plus rapidement que la fréquence désirée pour tes mesures sur le DS1820, une boucle est refaite sans lecture de ton capteur.
MacBook intel core 2 duo  os X snow Leopard 10.6
 eMac PPc G4  os X Leopard 10.5
powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

kafifi

@Gozaki,
A tester aussi autour de cela je suppose :

Code: [Select]
void InterruptTimer()
Reste à clarifier ce que je mets dans la boucle principale et dans l'interruption.

@Jean-François,
Très instructif cette page du siteduzero !
Encore un point que je n'arrive pas à saisir, la première partie du code avant la pause d'1 sec :

- J'adresse le DS1820
- Je compare la valeur du temps avec millis().
- Si je n'ai pas encore 1000, je continue.
- Je passe par la lecture clavier (parfait, je n'ai plus la latence de 1sec).
- Mais je reviens au début du code. Il faut donc un flag qui m'empêche de redérouler le début du code.
Sinon je relance encore un adressage ds1820. Est-ce bien cela ?

PS : j'espère avoir été clair  :o

Jean-François

#8
Nov 23, 2010, 07:14 am Last Edit: Nov 23, 2010, 07:17 am by jfs Reason: 1
Fait un truc du genre :

Code: [Select]
boolean lecture = true;

void looop(){

if (lecture=true){
lit le DS1820;
lecture = false;
}

if (si la boucle est supérieur à 1000){
fait la fonction keypad;
lecture = true ;
}
}



Ou un truc approchant...  ;D
MacBook intel core 2 duo  os X snow Leopard 10.6
 eMac PPc G4  os X Leopard 10.5
powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

kafifi

Ah, ça y est, c'est monté au cerveau  :o
Je suis en déplacement prof., je m'y remets ce week-end.

Merci beaucoup pour les explications !

Go Up