-
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
Następne wpisy z tego wątku
- 30.07.10 20:57 Konop
- 31.07.10 07:01 Jan Górski
Najnowsze wątki z tej grupy
- Weryfikacja myjki ultradźwiękowej
- zasieg radaru
- Zmywarka Bosch SRV55T43EU - awaria
- Kod zniżkowy w TME do 26.09.2025
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
Najnowsze wątki
- 2025-09-21 Weryfikacja myjki ultradźwiękowej
- 2025-09-21 Wyłudzenia świadczeń przez obcokrajowców
- 2025-09-21 wprowadzili system kaucyjny ustawą
- 2025-09-20 W Play chciałem kupić Huawei -- jako swój pierwszy smartfon...
- 2025-09-20 W Play chciałem kupić Huawei -- jako swój pierwszy smartfon...
- 2025-09-20 Kopiowanie telefonu
- 2025-09-20 Warszawa => AWS Cloud Engineer <=
- 2025-09-20 Łódź => Regular Network Engineer <=
- 2025-09-20 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-09-20 wrzesień
- 2025-09-20 Łomiarz wychodzi w marcu
- 2025-09-19 Czeladź => Specjalista ds. public relations <=
- 2025-09-19 Warszawa => International Freight Forwarder <=
- 2025-09-19 Warszawa => DevOps Engineer <=
- 2025-09-19 zasieg radaru