aitouares jeremy
/
finalDS18S20
DS18S20
Diff: main.cpp
- Revision:
- 0:5b6520e71eb6
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Apr 26 14:18:31 2012 +0000 @@ -0,0 +1,57 @@ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// Fonctionnement du programme du DS1820 // +// // +// // +// 1) Pour commencer le MBED initial le bus 1-Wire c'est-à-dire : // +// - MBED envoi une impulsion à 0 pendant 480µs minimum // +// - Puis le DS1820 répond avec une impulsion à 0 de 60à 240µs. // +// 2) On utilise la fonction «Search ROM [F0]» qui va permettre au MBED de récupérer tous les numéros // +// de ROM des DS1820 et par la même occasion de savoir combien de DS1820 il y a sur le bus 1-Wire. // +// 3) On fait un reset du bus 1-Wire on envoi le numéro de ROM « 0x10,0x65,0xF2,0x45,0x2,0x8,0x0,0xAE » // +// pour communiquer avec le DS1820 désiré puis on utilise la fonction « Convert Temperature [44] », // +// la valeur de la température est stocké dans le deuxième octet du scratchpad. // +// 4) Puis on va lire dans le scratchpad la valeur de la température stockée dans la variable « temperature » // +// prise par le DS1820. // +// 5) Affichage de la variable « temperature » sur un HyperTerminal grâce à une liaison série. // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + + + + + +#include "mbed.h" +#include "DS18S20.h" + + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// Affichage de la temperature // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +int main() /* debut du programme principal */ +{ + + float temperature; /* declaration de la variabble + flotante temperature */ + G__MOS_P =1 ; /* initialisation du P-MOS */ + FindDevices(); /* fonction cherchant le nombre de ds1820 + et leur numero de serie */ + + + while (true) /* boucle while infini */ + { + + if ( First() ) /* fonction if */ + { + temperature = DS1820_GetTemp(); /* affectation du resultat de la temperature + a la variable temperature */ + pc.printf("\t temp = % +.3g""\xb0""C \r",temperature); /* affichage de la temperature */ + } + } +} \ No newline at end of file