Blame view

site/upload/main.c 1.16 KB
19ae2416   jnduwamu   MAJ du site
1
2
3
  #include <avr/io.h>			// for the input/output register
  #include <avr/interrupt.h> 	
  #include <util/delay.h>  
19ae2416   jnduwamu   MAJ du site
4
  #include <string.h>
19ae2416   jnduwamu   MAJ du site
5
  #include <stdio.h>
1334aed2   root   Site lie au git
6
  #include <stdlib.h>
679fa31a   root   Fichiers RPI
7
  
bb21808e   root   MAJ
8
  #include "retour.h"
679fa31a   root   Fichiers RPI
9
  
19ae2416   jnduwamu   MAJ du site
10
11
  #define PRESCALER 1024
  #define TIME_SLOT 20
19ae2416   jnduwamu   MAJ du site
12
13
  #define BAUDRATE	103
  
1334aed2   root   Site lie au git
14
15
  #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
  #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
19ae2416   jnduwamu   MAJ du site
16
  
1334aed2   root   Site lie au git
17
18
  char Donnee[24];
  float temp;
19ae2416   jnduwamu   MAJ du site
19
  
1334aed2   root   Site lie au git
20
21
  // équivalent de analogueRead()
  int analogReadNew(uint8_t pin) {
679fa31a   root   Fichiers RPI
22
    //Selection de la fréquence du prescaler
1334aed2   root   Site lie au git
23
    ADCSRA |= (1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
679fa31a   root   Fichiers RPI
24
    //Définition de la référence de tension
1334aed2   root   Site lie au git
25
    ADMUX |= (1<<REFS0)|(1<<ADLAR);
679fa31a   root   Fichiers RPI
26
    //Sélection de l'entrée analogique selon le pin
1334aed2   root   Site lie au git
27
    ADMUX = (ADMUX&0xf0)|pin;
679fa31a   root   Fichiers RPI
28
    //Activation de l'ADC 
1334aed2   root   Site lie au git
29
    ADCSRA |= (1<<ADEN);
679fa31a   root   Fichiers RPI
30
    //Lancement de la conversion
1334aed2   root   Site lie au git
31
    ADCSRA |= (1<<ADSC);
679fa31a   root   Fichiers RPI
32
    //On attend la fin de la conversion
1334aed2   root   Site lie au git
33
    while(bit_is_set(ADCSRA, ADSC));
679fa31a   root   Fichiers RPI
34
    //Résultat
1334aed2   root   Site lie au git
35
36
37
38
    return ADCH;
  }
  
  int main()
19ae2416   jnduwamu   MAJ du site
39
  {
1334aed2   root   Site lie au git
40
     int reading;
19ae2416   jnduwamu   MAJ du site
41
42
     init_serial();
     while(1){
1334aed2   root   Site lie au git
43
44
45
      reading=analogReadNew(0);
      temp = reading * 1.9607843;
      dtostrf(temp, 4, 1, Donnee);
679fa31a   root   Fichiers RPI
46
47
48
49
      //send_serial('T');
      //send_serial('=');
      //RETOUR
      retour(Donnee);
1334aed2   root   Site lie au git
50
51
52
      _delay_ms(2000);
     }
     return 0;  
19ae2416   jnduwamu   MAJ du site
53
  }