eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaADC w ATMEGA16 i ilość stanówRe: ADC w ATMEGA16 i ilość stanów
  • Data: 2010-07-30 20:16:08
    Temat: Re: ADC w ATMEGA16 i ilość stanów
    Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Jan Górski pisze:
    > Powinno być ?
    Nie wiem co masz w układzie - to Twój projekt

    Taka uwaga - nie wiem skąd u programistów uC bierze się maniera do
    pisania w hex. Może od razu podawać adresy rejestrów zamiast ich
    definicji? np. ((*(volatile uint8_t *)((0x06) + 0x20))) |= 0x20;
    Jak piszesz ADMUX=0X40; to bez zajrzenia do dokumentacji kompletnie nie
    wiem o co chodzi. A zaglądanie do dokumentacji marnuje mój czas. Jak byś
    napisał ADMUX=_BV(REFS0); (jak twój kompilator nie ma to #define _BV(a)
    (1<<a)) to od razu byłoby wiadomo co ustawiasz.

    > KOD --------------
    > void adc_init(void) // Function to initialise the ADC feature
    > {
    > ADCSRA=0X00;
    > ADMUX=0X40;
    > ADCSRA=0X47; // prescaler (128) + ADSC
    > ADCSRA|=0X80; // ENABLE
    Dla zasady wypadałoby tu poczekać na zakończenie tej pierwszej konwersji.
    > }
    > ------------------------
    void setup_adc()
    {
    ADMUX = _BV(REFS0);
    ADCSRA = 0b111;// /128
    ADCSRA |= _BV(ADEN) | _BV(ADSC);
    while( ADCSRA & _BV(ADSC) )
    ;
    }
    nie jest czytelniejsze?

    > unsigned int adc_start(unsigned char channel) // Function to perform
    > an ADC conversion, Takes 0-8 as input
    > // to select which input to convert
    > {
    > unsigned char i;
    > ADCH=0x00; // Clear the previous result
    > ADCL=0x00; // Clear the previous result
    Zbędne, niezdefiniowane zachowanie, ale chyba nie powinno powodować błędów.

    > ADMUX=i|0x60; // Enter which line to perform in the ADC control
    > register
    Dlaczego ustawiasz ADLAR?


    --
    Pozdrawiam
    Michoo

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: