Operácie

AVR A/D example.c: Rozdiel medzi revíziami

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
Nová stránka: #include <avr/io.h> →‎Analog/Digital Wandler initialisieren: void adc_init(void); int main(void) { unsigned int buffer; →‎A/D - Wandler initialisieren: adc_init(); w...
 
Balogh (diskusia | príspevky)
Bez shrnutí editace
 
(5 medziľahlých úprav od rovnakého používateľa nie je zobrazených.)
Riadok 1: Riadok 1:
Jednoduchý prevod na vyžiadanie:


<source lang="c">
#include <avr/io.h>
#include <avr/io.h>


/* Analog/Digital Wandler initialisieren */
void adc_init(void);                                   // A/D converter initialization
void adc_init(void);
 


int main(void)
int main(void)
{
{
  unsigned int buffer;


unsigned int buffer;
  adc_init();                                         // Init A/D converter


/* A/D - Wandler initialisieren */
  while (1)
adc_init();
  {
    ADCSRA |= (1<<ADSC);                              // Start A/D conversion
    while ( !(ADCSRA & (1<<ADIF)));                    // Wait until AD not finished
    buffer = ADC;                                      // Then, read result (ADCH<<8) | ADCL)
  }


while (1)
}
{


/* Wandlung starten */
ADCSRA |= (1<<ADSC);


/* Warten bis die AD-Wandlung abgeschloßen ist */
void adc_init(void)                                    // A/D converter initialization
while ( !(ADCSRA & (1<<ADIF)) )
{
;
  ADMUX = 0b01000100;                                  // Ref: external, Channel 4 (ADC4) - NTC
 
  ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); // =0b10000111, A/D ON, prescaler = 128
/* AD-Wert auslesen */
}
buffer = (ADCH<<8) | ADCL;
</source>


}


}


/* Analog/Digital Wandler initialisieren */
void adc_init(void)
{


/* externe Referenzspannung und AD-Wandlerkanal 0 ( ADC0 ) auswählen */
[[A/D_prevodník|Návrat na cvičenie...]]
ADMUX = 0;


/* AD-Wandler einschalten und Prescaler = 64 einstellen ( enstpricht 115 khz Wandlertakt ) */
ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1);


/* Spezialfunktionen ausschalten */
[[Category: AVR]][[Category: MIPS]][[Category: CAD_RS]]
SFIOR = 0;
}

Aktuálna revízia z 07:38, 15. apríl 2021

Jednoduchý prevod na vyžiadanie:

#include <avr/io.h>

void adc_init(void);                                   // A/D converter initialization

int main(void)
{
  unsigned int buffer;

  adc_init();                                          // Init A/D converter

  while (1)
  {
    ADCSRA |= (1<<ADSC);                               // Start A/D conversion
    while ( !(ADCSRA & (1<<ADIF)));                    // Wait until AD not finished
    buffer = ADC;                                      // Then, read result (ADCH<<8) | ADCL)
  }

}


void adc_init(void)                                    // A/D converter initialization
{
  ADMUX = 0b01000100;                                  // Ref: external, Channel 4 (ADC4) - NTC
  ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); // =0b10000111, A/D ON, prescaler = 128 
}



Návrat na cvičenie...