kanał admux

Znaleziono około 354 wyników dla: kanał admux
  • Attiny25 - problem z multipleksowaniem ADC w przerwaniu, zmienne kanały

    Tak, tu popełniłem mały błąd chyba z rozpędu, przy takiej konfiguracji odczytujesz poprzedni kanał. Zamień: ADMUX = _BV(MUX0) | _BV(MUX1);// kanał ADC3 z ADMUX = _BV(MUX0); // Kanał ADC1 i wszystko powinno być ok. Czyli przy inicjalizacji startujesz adc z kanałem 1, dgy konwersja kończy się masz wynik w ADC jeżeli kanał = 1 to wartość z ADC trafia do...

    Mikrokontrolery AVR   15 Mar 2012 15:51 Odpowiedzi: 17    Wyświetleń: 2247
  • REKLAMA
  • atmega16 - Jak odczytać ADC z dwóch kanałów jednocześnie?

    Tak się kończy uwielbienie dla operatorów |= i &= na rejestrach. Ja bym to zrobił tak: Najpierw definiujemy stałą - wzorzec bitowy tego, co ma być w ADMUX poza wyborem kanału, np. #define ADMUXVAL (1<<REFS0) a potem w programie, żeby wybrać sobie kanał, piszemy: ADMUX = ADMUXVAL | 4; albo ADMUX = ADMUXVAL | 5; W ten sposób: - skracamy program...

    Mikrokontrolery Początkujący   29 Kwi 2013 15:14 Odpowiedzi: 19    Wyświetleń: 2997
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • ADC - problem ze zmianą napięcia odniesienia w ADMUX dla różnych kanałów

    A czy przy każdym żądaniu wybierasz odniesienie czy tylko zmieniasz kanał?

    Mikrokontrolery AVR   28 Kwi 2009 08:25 Odpowiedzi: 8    Wyświetleń: 2170
  • REKLAMA
  • [ATmega8][C] Obsługa ADC - odczyt kanałów dla linefollowera

    Zmień podejście. Tryb free running praktycznie nie nadaje się w sytuacji w której planujesz zmieniać kanały. Lepiej zastosować single conversion i przerwania. W takiej sytuacji w procedurze obsługi przerwania zapisujesz do tablicy wartość ADC, inkrementujesz indeks tablicy, inkrementujesz ADMUX (kanał) i zaczynasz kolejną konwersję. I tak w kółko. W...

    Mikrokontrolery AVR   14 Mar 2011 17:50 Odpowiedzi: 41    Wyświetleń: 7015
  • ADC przetwarzanie dwóch kanałów, wzajemne zakłócenia

    Problem został rozwiązany, wystarczyło na końcu procedury przetwarzania drugiego kanału ponownie włączyć pierwszy kanał ADMUX &=~_BV(1);

    Mikrokontrolery AVR   09 Mar 2009 08:33 Odpowiedzi: 5    Wyświetleń: 1469
  • REKLAMA
  • Odczyt z dwóch kanałów ADC Atmega32 - błędne przeploty danych

    Jak już ustawisz rejestry przetwornika ADC to ich nie zeruj wszystkich, ustaw je przed pętlą główną a w funkcji wybieraj kanał ADMUX &= (0xF8 & kanal); i uruchom przetwornik ADCSRA |= (1<<ADSC); i czekaj w while na zakonczenie

    Mikrokontrolery AVR   06 Lip 2018 23:20 Odpowiedzi: 2    Wyświetleń: 456
  • ADC - Jak uniknąć powielania pomiarów w kodzie AVR?

    Będzie działać, ale: [syntax=c]ADMUX &=0xF8; // <-- wybierasz kanał 0 ADMUX |= kanal; // <-- wybierasz docelowy kanał[/syntax] Powinieneś to zrobić w jednej operacji: [syntax=c]ADMUX = (ADMUX & 0xF8) | kanal;[/syntax]

    Robotyka Modelarstwo i CNC   09 Lis 2013 17:42 Odpowiedzi: 3    Wyświetleń: 996
  • ATmega32 ADC - odczyt zer mimo podania napięcia na wejście A0

    .... ADCSRA=0x85; //wpisanie 1 na Enable i ustawienie prescalera ADMUX=0x00; //wybieram kanał 0 ADCSRA=1<<ADSC//uruchamiam konwersję ...i wyłączasz przetwornik oraz zerujesz bity preskalera. ADCSRA |= 1<<ADSC Poza tym po włączeniu przetwornika wypadałoby wykonać pustą (dummy) konwersję.

    Mikrokontrolery   19 Maj 2006 13:05 Odpowiedzi: 4    Wyświetleń: 2408
  • Odczyt napięcia z 2 kanałów ADC (Attiny13a) - fototranzystor i dzielnik napięcia

    (at)kdgp1491 Problemem jest konstrukcja ADMUX |= 0b01000011; Po czymś takim, jak zrobisz ADMUX |= 0b01000010; to nic nie zmieniasz - ciągle dwa najmniej znaczące bity mają 0b11, a więc stale masz wybrany ten sam kanał.

    Mikrokontrolery AVR   04 Mar 2023 09:42 Odpowiedzi: 7    Wyświetleń: 570
  • Błędny odczyt LM35 na wyświetlaczu 7-segmentowym z ATmega16

    Kanał 1 zdecydowanie nie tak się wybiera: ADMUX = 0b0000111; To ci wybiera kanał 7, w dodatku wyłącza wewn. Vref i musisz podać zewnętrzne na końcówkę Vref. Kolejny błąd: pomiar=(ADCH&512)|ADCL; ADCH & 512 da ci zawsze zero, bo ADCH jest 8-bitowy. Powinno być pomiar=ADC; Kolejne problemy to zmienne d1 i d2. Są 15-bitowe (bo ze znakiem), jak je przemnożysz...

    Mikrokontrolery   11 Sty 2011 10:52 Odpowiedzi: 11    Wyświetleń: 1530
  • REKLAMA
  • Atmega8 i KTY 81/210 - Pomiar temperatury KTY 81/210

    Oj, AREF do masy? Czytaj: http://mikrokontrolery.blogspot.com/2011... Pierwsze uwagi do programu (tak na szybko): Zastanów się co znajduje się w rejestrze ADMUX po wykonaniu tych dwóch instrukcji w tej kolejności: [syntax=c]ADMUX = (1 << REFS0) | (1 << REFS1) ; // Napięcie odniesienia ADC, Vref 2.56V ADMUX = (1<<MUX0);...

    Mikrokontrolery   03 Lip 2015 12:12 Odpowiedzi: 29    Wyświetleń: 5199
  • [C] [C][Atmega8] Brak odświeżania bufora ADC z PC4 przy multiplexowaniu

    void test2(void) { // .. ADMUX &= ~7; ADMUX |= 2; //kanał // ... } void test4(void) { // ... ADMUX = 4; //kanał // ... } void adc_init(void) { // Wybranie wewnętrznego żródła napięcia odniesienia ADMUX |= _BV(REFS0); ADMUX |= _BV(REFS1); //Wybranie sposobu zapisu wyniku z wyrównaniem...

    Mikrokontrolery AVR   20 Kwi 2009 12:11 Odpowiedzi: 7    Wyświetleń: 2028
  • [AVR-GCC] Jak poprawnie odczytać wiele kanałów ADC w ATMega8?

    Hej, To działa: ADCSRA |= _BV(ADSC); // Rozpoczęcie przetwarzania z kanału 0 !!!!!!!!!!!!!!!!!!!! while(bit_is_set(ADCSRA,ADSC)... Oczekiwanie na zakończenie przetwarzania {}; pomiar1=ADCH; // Zapisanie starszych 8 bitów wyniku konwersji w kanale 0 do zmiennej "pomiar1" ADMUX |= _BV(0); // Wybranie...

    Mikrokontrolery   06 Wrz 2008 11:09 Odpowiedzi: 14    Wyświetleń: 5618
  • Problem z przetwornikiem ADC w programie śledzącym słońce.

    Popełniasz błąd: [syntax=c]ADMUX=(ADMUX &~ (1<<MUX0) &~ (1<<MUX1) &~ (1<<MUX2)); //PORTA0 _delay_us(5); <<== Tutaj musi być kilka us zwłoki!!! ADCSRA|=(1<<ADSC); //aktywowanie konwerjsi while(ADCSRA & ADSC);[/syntax] Nie możesz startować konwersji natychmiast po zmianie kanału w ADMUX.

    Mikrokontrolery Początkujący   17 Paź 2022 20:23 Odpowiedzi: 27    Wyświetleń: 1338
  • Atmega32 - Przełączanie między kanałami ADC (3 kanały) - Kodek źródłowy i konfiguracja

    Gdy jeszcze bawiłem się ATmegami , 328 przede wszystkim to żonglowałem kałami ADC w tajmerze. Co ileś tam przerwań, przykładowo 10, był odczyt ADC i zmiana kanału. Po nastepnych 10 przewaniach znowu odczyt ale już ze zmienionego kanału i zmiana na następny kanał. Działało to po prostu pewnie. Lepiej będzie to widać na przykładowym kodzie. Oczywiście...

    Mikrokontrolery AVR   20 Mar 2023 23:07 Odpowiedzi: 7    Wyświetleń: 762
  • ADC - błędy przy multipleksowaniu kanałów, możliwy przesłuch między kanałami

    Chodzi mi o wynik. [syntax=c] pomiary[kanal++] = ADC; ADMUX = 0b11000000 | (kanal & 0b00000111); SET_BIT(ADCSRA, ADSC); [/syntax] ADMUX = 0b11000000 | (kanal & 0b00000111) dla kanału =0 ADMUX = 0b11000111 ADMUX = 0b11000000 | (kanal & 0b00000111) dla kanału =1 ADMUX = 0b11001000 dla wartości 0b11001000 wchodzi na pomiar różnicowy. Gdy ADMUX będzie miał...

    Mikrokontrolery AVR   22 Maj 2011 18:58 Odpowiedzi: 24    Wyświetleń: 2452
  • Atmega8 - Błędne odczyty ADC, jak poprawić kod?

    Witam może tak: ADMUX&=0xF0; ADMUX|=kanal; Ty zawsze masz MUX = 0001

    Mikrokontrolery AVR   21 Lip 2011 14:26 Odpowiedzi: 2    Wyświetleń: 887
  • [C] Sprawdzenie programu czujnika koloru na Atmega8 - porównywanie zmiennych

    W inicjacji adc jest sporo byków.Niepotrzebne przerwania , licznik (z których nie korzystasz ), brak vref(chyba ze wiesz jaka wartość jest domyślna).Do tego programiku powinno wystarczyć. void adc_init(void) { ADCSRA = (1 << ADEN); ADCSRA |= (1 << ADPS0) | (1 << ADPS1) | (1 << ADPS2);...

    Mikrokontrolery AVR   09 Lis 2010 10:46 Odpowiedzi: 21    Wyświetleń: 3747
  • [atmega8] Dodatnie napięcie 1.4V na wejściu ADC przy braku sygnału

    Próbowałem ustawić PINC jako niski ,wysoki lecz to powodowało jedynie wzrost napięcia. Znalazłem jakieś rozwiazanie które się sprawdza jak na razie. [url=http://www.dioda.com.pl/forum/topic... chodzi mi o fragment kodu dotyczący wybrania kanału dla prztwornika: // Wybór kanału wejścia - PC3 (ADC3) ADMUX |= _BV(MUX1)|_BV(MUX0);...

    Mikrokontrolery AVR   23 Sty 2009 14:35 Odpowiedzi: 10    Wyświetleń: 1923
  • [C] Jak ustawić wzmocnienie ADC x20 i Vref na 2.56V/1.8V w Attiny26?

    [url=http://www.atmel.com/dyn/resources/... datasheet, strona 101: - bity 7:6 rejestru ADMUX wybierają napięcie referencyjne - bit 5 wybiera, czy wynik wyrównać do lewej - bity 4:0 wybierają kanał+wzmocnienie (tabelka 46 na stronie 102) Zauważ, że wartość 0xEB wpisana do ADMUX spowoduje wybranie wewnętrznego źródła napięcia...

    Mikrokontrolery AVR   04 Sie 2011 10:23 Odpowiedzi: 2    Wyświetleń: 909
  • Jak podłączyć wiele sygnałów do ADC w Atmega32 jednocześnie?

    Wystarczy w rejestrze ADMUX wybrać sobie kanał z którego chcesz pomiar. Opisane jest to na stronie 213 dokumentacji

    Mikrokontrolery   14 Sie 2007 15:49 Odpowiedzi: 4    Wyświetleń: 2811
  • [Atmega8][C] Dwa kanały ADC - sklejają się, dlaczego?

    Wkradł się chochlik w funkcji pomiar, źle zmieniasz rejestr ADMUX. Powinno być [syntax=c]ADMUX = (ADMUX & 0xF8) | kanal;[/syntax] Tak to zapewne odczyt był zawsze tylko z kanału 5

    Mikrokontrolery AVR   15 Sty 2012 09:35 Odpowiedzi: 2    Wyświetleń: 1122
  • [ATMega64] [ATMega64][C] Nie działa przerwanie ADC - jak poprawnie skonfigurować?

    Witam wszystkich, mam problem z uruchomieniem na przerwaniach przetwornika ADC w atmedze 64. zamieszczam poniżej fragment kodu: // ISR(ADC_vect) { kierunek=ADC; //odczyt wartości ADC write_text_to_LCD("ADC test"); } int main(void) { PORTF = 0x00; DDRF = 0x00; zaprogramowanie przetwornika ADC ADCSRA =...

    Mikrokontrolery AVR   22 Cze 2008 21:16 Odpowiedzi: 2    Wyświetleń: 1961
  • [ATmega8] [ATmega8][C] - Zakłócenia przy pomiarze z dwóch kanałów ADC

    W funkcji pomiar masz ADMUX |=.. co powoduje, że wszystko co tam wrzucisz zawsze się dodaje. Nic nie zostaje wyłączone. A przecież jak zmieniasz kanał, to musisz wyłączyć poprzednio używany. Zmień na ADMUX =

    Mikrokontrolery AVR   30 Lip 2016 13:18 Odpowiedzi: 17    Wyświetleń: 1461
  • [AVR] [ATMEGA8] [ASM] Konfiguracja ADC i odczyt potencjometru 47K

    ldi r25,0b00000101 out admux,r25; kanał pomiaru 4 < nieprawda (że 4 kanał) Dodano po 3 Można też tak (jak chcesz 5 kanał i używasz zewnętrznego napięcia odniesienia): ldi r25, 5 out admux,r25

    Mikrokontrolery AVR   27 Sty 2010 15:00 Odpowiedzi: 43    Wyświetleń: 6747
  • Attiny26, ADC, C - problem z napięciem na LM35 przy ustawieniach PORTB

    A w którym miejscu ustawiasz PA0 jako wejście? (DDRA&=~(1<<0)) lub w twoim kompilatorze wystarczy (clrb(DDRA, 0)). Według ustawień bitów REF0, REF1 masz wybrane zewnętrzne źródło napięcia odniesienia, podłączyłeś je (pod nóżkę PA3)? Do tego musisz wybrać w rejestrze ADMUX kanał z którego chcesz dokonać konwersji.

    Mikrokontrolery   15 Mar 2008 18:15 Odpowiedzi: 4    Wyświetleń: 1998
  • Atmega16 - ADC nie działa na jednym z kanałów (adc0-3) - jak to naprawić?

    Takie coś łatwiej zrobić tak ISR(...) kanal= ADMUX&0x03; if(kanal==0) ........ if(kanal==1) ............. Lepiej i przejrzyściej !

    Mikrokontrolery AVR   07 Maj 2010 19:19 Odpowiedzi: 8    Wyświetleń: 1377
  • [ATmega8] [ATmega8][C/C++] - ADC nie działa, konfiguracja i kod do sprawdzenia

    Zwróć uwagę że w Twoim kodzie nigdzie nie podajesz informacji prockowi gdzie ma zmierzyć napięcie. Przed konwersją musisz w rejestr ADMUX wpisać numer kanału ADC. Robi to tą linijką programu: Korzystam z ADC0, domyślnie ustawione są na 0 czyli powinno się zgadzać. że ustawienie w tym wypadku jest domyślne jest błędne, choć kanał autor swoim programem...

    Mikrokontrolery AVR   20 Maj 2013 13:55 Odpowiedzi: 8    Wyświetleń: 1614
  • ADC - zmieniające się cyfry wyniku na wyświetlaczu, kod w C

    Witam. Napisałem w C kod do przetwarzania ADC. Niestety mam dziwy 6 cyfrowy wynik na wyświetlaczu. Najciekawsze jest to że zmienia mi się pierwsza i ostatnia cyfra np: 844448 zmienia się na 944449 i tak w kółko Poniżej jest kod void ADCinit(); void ADCinit() { //ADMUX =0b00000000; ///* SET_BIT(ADMUX, REFS1)//WYKORZYSTANIE...

    Mikrokontrolery AVR   21 Kwi 2011 14:04 Odpowiedzi: 5    Wyświetleń: 1420
  • [Atmega88] - Jak podłączyć przyciski do portów ADC6 i ADC7 w C?

    Tylko drabinka chyba nie pozwala na rozpoznanie który przycisk został naciśnięty chociaż możliwe że się mylę. Owszem. Może, jeśli dobrze to zorganizujesz. I jeszcze jedno - jak samplować (w C)? Napisać odpowiednią funkcję np. uint16_t get_adc(uint8_t channel) . W funkcji tej wpisujesz kanał do ADMUX, wyzwalasz pomiar przez ustawienie bitu ADSC, potem...

    Mikrokontrolery AVR   07 Lis 2012 17:38 Odpowiedzi: 25    Wyświetleń: 3666
  • Kod w C do jednorazowej konwersji AC na Atmega8 i zapis do zmiennej

    #include... ... ... //kwarc 3,6864MHz ... ... volatile unsigned int koniec=0; volatile unsigned long int adc; ... ... int main(void) { sei(); for(;;) { ADMUX = (1 << REFS1) | (1 << REFS0); //kanał ADC0, wew ref 2,56V ADCSRA = (1 << ADEN) | (1 << ADSC) | (1...

    Mikrokontrolery   10 Sty 2012 20:48 Odpowiedzi: 14    Wyświetleń: 2937
  • ATMEGA32 - ADC miesza kanały przy włączaniu wielu wejść

    [syntax=c]uint16_t pomiar( uint8_t kanal) { ADMUX = (ADMUX & 0b11100000) | kanal; ADCSRA |= (1<<ADSC); while(ADCSRA & (1<<ADSC)); return ADC; };[/syntax] Zmieniałem funkcje odczytu na taką, czyli oczekiwaniem na stan bitu i wszystko teraz działa poprawnie, wszystko na szczęście jest w dokumentacji, jeszcze raz przejrzałem i znalazłem,...

    Mikrokontrolery AVR   10 Lut 2015 11:16 Odpowiedzi: 8    Wyświetleń: 1062
  • Jak ustawić rejestry ADMUX dla poprawnego odczytu z ADC4 zamiast ADC0?

    Po resecie cały ADMUX==0 Załóżmy że korzystasz z zewn. napięcia odniesienia i nie ustawiasz bitu ADLAR. No to nic nie ustawiasz i masz pomiar z kanału 0 z zewn nap. odniesienia. Ale jak masz konfigurację w innym pliku do podaj jaką. No i w końcu- jaki procesor? No i co ty wstwiasz w końcu do ADMUX? najpierw- nic. Potem PC0- jaki PinC- przecież to stan...

    Mikrokontrolery AVR   04 Paź 2010 17:16 Odpowiedzi: 19    Wyświetleń: 2490
  • [Bascom][ATMega8]Serout - brak nadawania w symulacji.

    Chcąc bezproblemowo zmieniać kanały powinieneś zostawić GETADC() i w konfiguracji zmienić na SINGLE . W trybie FREE przetwornik mierzy ciągle (ustawiając flagi przerwania ADI F po każdym pomiarze), a ostatni wynik będzie znajdował się w zmiennej specjalnej ADCD (typu Word ). Jednak zmiana kanału pomiaru jest nieco problematyczna, bo kanały musiałbyś...

    Mikrokontrolery AVR   03 Paź 2009 17:33 Odpowiedzi: 3    Wyświetleń: 1197
  • Uśrednianie pomiarów z ADC- z podejrzeniem paranoi.

    _marek- tak właściwie to działa. Bo jest jeszcze funkcja: //*****************************a tu funkcja zmieniająca kanały- definicja- to chyba też gaskoina void SetAdcKanal(void) { static uint8_t kanal; ADMUX = ((ADMUX&0xE0)+ kanal);//zmienić kanał napiecie[kanal++]=ADC_sr; // zapisać pomiar w tablicę if(kanal>=LICZBA_KANALOW)...

    Mikrokontrolery AVR   02 Gru 2010 21:48 Odpowiedzi: 28    Wyświetleń: 6744
  • Uśrednianie wyników ADC (BASCOM)

    Do Autora wątku: Proszę. Nie taki diabeł straszny. Nie napisałeś jaki to procesor więc napisałem przykład dla Mega8. Funkcja odczytuje ADC(0-5) z włączony ADLAR czyli tylko osiem bitów. Wynik od 0 do 255. Zapewne działa nawet w symulatorze. To taki podstawowy. Można nie czekać a ustawić przerwanie, ale to pewnie jeszcze nie dla Ciebie :D Wpisz w Google...

    Mikrokontrolery AVR   10 Maj 2019 18:10 Odpowiedzi: 19    Wyświetleń: 1065
  • [ATtiny44][C] - ADC nie działa przy zewnętrznym AREF

    Uruchomiłeś zasilanie i niespełna mikrosekundę później wystartowałeś pomiar. Trochę mało czasu na ustabilizowanie się napięcia na układzie, który ma rozbudowaną strukturę z wzmacniaczem operacyjnym wewnątrz. Sam ADC też potrzebuje kilku uS na naładowanie kondensatora samplującego po ustawieniu kanału ADMUX.

    Mikrokontrolery AVR   03 Gru 2020 19:39 Odpowiedzi: 3    Wyświetleń: 576
  • [ATmega32][c] - Porównanie kanałów z ADC. Sterowanie wsp. wypełnienia PWM.

    Witam ! Buduję układ detektora zapadów napięć oparty na analizie kąta fazowego. Metoda ta polega, w skrócie, porównywaniu napięcia sieciowego z wzorcowym. Układ buduję na mikrokontrolerze ATmega32. Chcem porównać dwa wejścia ADC aby uzyskać informację o procentowej zmianie napięcia względem napięcia wzorcowego. Informacja ta ma sterować współczynnikiem...

    Mikrokontrolery AVR   23 Lut 2013 12:40 Odpowiedzi: 2    Wyświetleń: 1605
  • [Atmega32][C] Uśrednianie pomiarów z trzech kanałów ADC

    A nie lepiej zrobić najpierw wszystkie pomiary a później odświeżyć LCD? Czy zastosowanie tego urządzenia wymaga naprzemiennych szybkich pomiarów? Jeśli nie to można zrobić tak: [syntax=c] ADMUX = 0x00; temp = 0; for(pomiar_licznik=0; pomiar_licznik<6; pomiar_licznik++) { ADCSRA |= (1 << ADSC); while(ADCSRA & (1 << ADSC)); temp +=...

    Mikrokontrolery AVR   28 Gru 2011 12:38 Odpowiedzi: 2    Wyświetleń: 1602
  • Przetwornica obniżająca napięcie, brak napięcia na wyjściu.

    Trochę chaotycznie napisany program: 1. skoro używasz przesunięć bitowych, to używaj je konsekwentnie. bo sprawdzenie, czy prawidłowo ustawiasz ADMUX zmusza do szukania. co oznacza 0xE9 itp. Przy zmianie kanału zmieniaj tylko bity ADMUX odpowiedzialne za nr kanału: A single conversion is started by writing a logical one to the ADC Start Conversion bit,...

    Projektowanie Układów   24 Cze 2015 15:35 Odpowiedzi: 4    Wyświetleń: 876
  • amtega32 - ADC,błąd pomiaru, powiązane napięcia na różnych kanałach

    Panowie Kombinuje z pomiarem napięcia na potencjometrach z wykorzystaniem atmego32. 4 potencjometry podpięte do 4 kanałów ADC. Połączenia nie mogę przedstawić ze względu na problem z wgrywaniem obrazków, lecz jest ono podręcznikowe. kod: [syntax=c] ADMUX |= (1<<REFS0); ADCSRA |= (1<<ADEN) | (1<<ADPS1) |(1<<ADPS0) ; char tekst[30];...

    Mikrokontrolery AVR   18 Sty 2014 00:50 Odpowiedzi: 11    Wyświetleń: 1743
  • [Atmega] [Atmega][C] Problem z odczytem współrzędnych z 4-przewodowego panelu dotykowego

    Jeśli ADMUX służy do wybierania kanału to czy czasem w obu funkcjach nie masz wybieranego tego samego kanału ? ADMUX|=(0<<MUX4)|(0<<MUX3)|(... Do tego jeśli będziesz przełączał kanały uważaj na "OR |" w ADMUX|= Przesuwanie zera (0<<MUX0)...

    Mikrokontrolery AVR   03 Sie 2011 14:52 Odpowiedzi: 9    Wyświetleń: 2216
  • Przetwornik A/C w AVR i program obsugi w assemblerze

    w pętli głównej programu umieszczasz odwołanie: ldi R16, X rcall Pomiar_ADC pomiar_ADC: ; ============ program pomiaru ADC=====================================... ldi R20, 0b11000000 ; ustawiamy PAX jako wejscie przetwornika napięcia i wybieramy add R20, R16 ; parametr określający nr kanału out ADMUX, R20 ; jako napięcie odniesienia Vref wewnętrzne...

    Mikrokontrolery   25 Sty 2008 16:50 Odpowiedzi: 7    Wyświetleń: 1912
  • [ATmega16 C] ATmega16 C: Przerwania licznika, problem z wartością TCNT0 poniżej 218

    tak taktuje to na razie 1MHz, a czyli rozumiem po prosty za szybko przełączam kanały zanim skończy się przetwarzanie ja już zmieniam kanał i dlatego inne silniki reagują? Dodano po 2 później będę korzystał z innego procesora (atmega128) i ustawie to na 16MHz więc wtedy nie powinno być problemu ale dla pewności, że konwersja została zakończona można...

    Mikrokontrolery AVR   26 Lis 2009 16:47 Odpowiedzi: 18    Wyświetleń: 2487
  • AVR ATMEGA32 ADC - identyczne wyniki z 3 kanałów, jak rozwiązać?

    Witam! Chcę zbierać pomiary z przetwornika ADC ATMEGA32 z trzech kanałów co określony czas (1,25ms) i wyświetlać je na LCD. Program napisany przeze mnie, niby działa poprawnie, ale pomiary z 3-kanałów są jednakowe, a przecież powinny być różne. Zaplanowałem, żeby zrobić to w następujący sposób: -ustawić ADC na generowanie przerwania w momencie zakończenia...

    Mikrokontrolery AVR   31 Gru 2012 09:52 Odpowiedzi: 2    Wyświetleń: 1839
  • [Atmega8] Odczyt z kilku kanałów ADC - mieszanie wyników:

    Nie wymaga. Zmiana ADMUX zawsze dotyczy następnej konwersji, nie wpływa na bieżącą.

    Mikrokontrolery AVR   24 Mar 2010 02:31 Odpowiedzi: 5    Wyświetleń: 2841
  • [C] Attiny13 ADC - Dlaczego na ADC2 pokazuje 0V mimo włączonego ADC?

    ADIF jest flagą dla przerwań. W ogóle nie musisz i nie powinieneś z niego korzystać przy takim sposobie pracy. Normalnie po ustawieniu flagi ADSC sprawdzasz czy jest dalej ustawiona. Po zakończonej konwersji ADC ją zeruje. Bit 6 – ADSC: ADC Start Conversion In Single Conversion mode, write this bit to one to start each conversion. In Free Running...

    Mikrokontrolery AVR   14 Gru 2011 23:19 Odpowiedzi: 13    Wyświetleń: 5381
  • [ATMEGA8] [ATMEGA8][C] Jak poprawnie obsłużyć 2 kanały ADC bez mieszania sygnałów?

    He? Kod: ADMUX = ( _BV(REFS1) | _BV(REFS0)); //kanał 0 Po kiego wała za każdym razem ustawiasz napięcie odniesienia? Nie lepiej poptostu kasować bit od muxa? Poza tym nie wiem co on robi z rej. ADCSR bo takiego nie ma w m8:), jest za to ADCSRA Może po zmianie refów, trzeba ponownie ustawić coś więcej?

    Mikrokontrolery AVR   23 Lip 2012 11:34 Odpowiedzi: 31    Wyświetleń: 8828
  • [ATmega16] [ATmega16][C] ADC - szukam prostego kursu obsługi przetwornika ADC

    Prosty przykład (oscylator wew. 8MHz): uint16_t pomiar(uint8_t kanal) { ADMUX = (ADMUX & ~0x07) | (kanal & 0x07);// ustaw kanal ADCSRA |= _BV(ADSC); //rozpocznij konwersje while(ADCSRA & _BV(ADSC)); //czekaj az skonczy return ADCW; //zmierzona wartosc } int main(void) { ADCSRA =...

    Mikrokontrolery AVR   12 Maj 2010 00:47 Odpowiedzi: 39    Wyświetleń: 8711
  • ATmega8, WinAVR, C – sterowanie diodami LED przez ADC i potencjometr, nie działa

    To polecenie wybiera pin ADC1 a nie ADC0. Dla ADC0 wszystkie bity MUX3..0 muszą być równe 0. Jeśli pin ADC1 nie jest podłączony do jakiegoś potencjału, to wyniki pomiaru będą raczej trudne do przewidzenia.

    Mikrokontrolery AVR   20 Kwi 2011 21:09 Odpowiedzi: 14    Wyświetleń: 3940
  • [atmega128][C/WinAVR] ADC - pomiar z kilku kanałów

    Jeżeli nie będziesz używał wejść różnicowych do pomiaru to możesz zastosować taką funkcję : void inline SetADCChannel(unsigned char channel){ ADMUX = (ADMUX & 0xE0) + channel; } możesz ewentualnie zabezpieczyć to ifem żeby w kanał nie wpisać wartości np 50

    Mikrokontrolery AVR   13 Paź 2010 23:01 Odpowiedzi: 7    Wyświetleń: 2293
  • [ATMEGA8][C] Woltomierz - rosnący błąd pomiarowy

    Najlepiej wybierając kanał wpisuj wartość nie zastanawiając się jakie bity są ustawione, a jakie nie. Czyli dla REF-a wewnętrznego i wyrównania do prawej wybór kanałów będzie wyglądał tak: dla ADC0: ADMUX = 0; dla ADC1: ADMUX = (1<<MUX0); dla ADC2: ADMUX = (1<<MUX1);

    Mikrokontrolery AVR   14 Lip 2010 12:54 Odpowiedzi: 31    Wyświetleń: 6345
  • [Atmega32][C] zamiana wyników z dwóch kanałów ADC

    Oki ale co się dzieje z bitem ADIF (znacznik zakończenia konwersji)?? trzeba go gdzie zerować?? Z nocie jest napisane, że zakończenie operacji przetwarzania powoduje ustawienie znacznika ADIF. Czyli jak ustawimy nową konwersje czyli bit ADSC ustawimy w stan wysoki to automatycznie ustawia(kasuje) nam bit ADIF na 0?? Macie jakiś dobry patent na uśrednianie...

    Mikrokontrolery AVR   27 Gru 2011 21:08 Odpowiedzi: 7    Wyświetleń: 1608
  • Atmega16 - Zapis danych do eeprom po zaniku zasilania

    Szanowni Forumowicze, Chciałbym zrobić układ, który będzie zapisywał dane czasu do pamięci eeprom po wyłączeniu zasilania. W tym celu na wyjściu stabilizatora liniowego LM7805 umieściłem diodę schotky, za nią kondensator podtrzymujący zasilanie, zasila on sam procesor i reset procka. Przed diodą jest zasilanie reszty układów. Układ wykrywania awarii...

    Mikrokontrolery AVR   03 Paź 2018 11:57 Odpowiedzi: 22    Wyświetleń: 1875
  • LCD 4x20 z przesuwanym i migającym kursorem w 4 wierszu

    wiesz jak się w C używa funkcji ? Programowałeś kiedyś w C wcześniej? bo to chyba tutaj jest pies pogrzebany void SetAdcKanal(unsigned char kanal) { ADMUX = ((ADMUX&0xE0)+ kanal); //------------------------------kan 1 ADCSRA |= _BV(ADSC); while(bit_is_set(ADCSRA,ADSC)... {} pomiar_1=ADC;...

    Mikrokontrolery AVR   06 Wrz 2010 22:14 Odpowiedzi: 122    Wyświetleń: 9146
  • [Atmega8] Dlaczego na porcie B otrzymuję same jedynki przy pomiarze Vbg?

    Witam szanownych forumowiczów. Napisałem taki oto kod, w celu sprawdzenia działania napięcia Vbg (bandgap) podawanego na wejście przetwornika AD w atmedze8: #define F_CPU 1000000UL #include <avr/io.h> #include <util/delay.h> void adcInit() { // źródło odniesienia - AVCC = 5V ADMUX |= _BV(REFS0); // wyrównanie do lewej...

    Mikrokontrolery AVR   05 Lis 2010 20:10 Odpowiedzi: 2    Wyświetleń: 1688
  • [Atmega8 ADC] dynamiczna zmiana kanału pomiarowego

    Cześć wszystkim, próbuję zrobić kilkukanałowy woltomierz na bazie uK Atmega8L-8PU z wyświetlaniem na LCD 2x16. Woltomierz działa, tylko w obu linijkach wyświetla się wynik z kanału 5. Przy zmianie napięcia obie linie wskazują tę samą wartość. Podczas debugowania udało mi się stwierdzić, że bity MUX odpowiedzialne za wybór kanału nie zmieniają się, chociaż...

    Mikrokontrolery AVR   09 Gru 2011 17:26 Odpowiedzi: 5    Wyświetleń: 1659
  • [ATMEGA8] [ATMEGA8][ASM] ADC nie aktualizuje wyniku przy powtórnych pomiarach

    A do którego wejścia ADC się kolega podpina? Gdzie w programie instrukcja wyboru kanału przetwornika (ADMUX)?

    Mikrokontrolery AVR   17 Sie 2008 20:17 Odpowiedzi: 7    Wyświetleń: 1761
  • [atmega32][C] - kalibracja ACS712 - błędne odczyty

    Nie wiem co jeszcze napisać. ADC na rym kodzie działa dobrze a chyba jasno określiłem w tytule o co chodzi i zaznaczyłem w kodzie niewłaściwy sposób "wyzerowania" "wyskalowania" pomiaru aby pokazywał faktyczną wartość przepływającego prądu a nie cuda niewidy. Pre-definicja ADC [syntax=csharp] //********** definicje zmiennych dla ADC volatile uint16_t...

    Mikrokontrolery AVR   10 Sie 2014 11:49 Odpowiedzi: 9    Wyświetleń: 2184
  • Błędy przy funkcji byte w AvrStudio4 podczas pracy z DS1307 i Atmega8L

    liczby 0xAB (to nic innego jak zapis hexadecymalny i wystarczy użyć kalkulatora A co kolega będzie rozumiał z zapisu np. ADMUX=0xAB;//* ? Jaki kanał ADC jest wybrany, jakie napięcie referencyjne? Aaaa, właśnie. Możesz napisać sobie w komentarzu co to ustawia, ale pisanie który bit za co odpowiada to będzie overkill. Innymi słowy napiszesz program,...

    Mikrokontrolery Początkujący   12 Gru 2015 12:27 Odpowiedzi: 9    Wyświetleń: 1119
  • Atmega32[C]voltomierz z dwoma progami napięć załącz/wyłącz

    ...proszę o sprawdzenie i korektę błędów z komentarzem... //--------------------------------------... // >>>>>>>>>>... V O L T O M I E R Z <<<<<<<<<<... //--------------------------------------... //##################...

    Mikrokontrolery AVR   10 Wrz 2010 09:37 Odpowiedzi: 18    Wyświetleń: 2895
  • Pomiar ADC - błedy przy zmianie ADMUX w ATMEGA644P

    Odrzucanie pierwszego wyniku, czy też serii wyników, to tylko proteza do źle zaprojektowanego algorytmu. Takoż samo algorytm używający jakiegoś opóźnienia (nie piszę o delay). Jak komuś zależy na dokładności, to nie używa wbudowanego, powolnego i mocno ograniczonego ADC A to jest demagogia, w obronie jakiś dziwnych tez. Zresztą opóżnienie Ja piszę...

    Mikrokontrolery   18 Lut 2017 22:45 Odpowiedzi: 17    Wyświetleń: 855
  • [atmega 128][ASM][avrStudio]] - zmiana kanałów ADC nie działa?

    Bit kompatybilności wyłączony, tym bardziej że osobno wszystkie kanały działają. Przepisywanie do admux nowego kanału dzieje się w obsłudze przerwania adc conversion complete także już po zakończeniu działania, więc powinno działać. Pominięcie pierwszego wyniku zrobię, ale coś mi sie nie wydaje żeby to ruszyło. Jak nie znajdę rozwiązania to spróbuję...

    Mikrokontrolery AVR   22 Mar 2013 13:42 Odpowiedzi: 3    Wyświetleń: 1542
  • [C][AVR] ustawianie preskalera, błąd podczas kompilacji

    Witam, próbowałem sobie napisać prosty programik do wyświetlania wartości napięcia z ADC5 na LCD, jednak nie wiem czemu wyświetla mi błąd: "error: called object '64' is not a function" #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <avr/pgmspace.h> #include <stdio.h> #include "lcd.h"...

    Mikrokontrolery AVR   15 Lip 2011 11:29 Odpowiedzi: 4    Wyświetleń: 1310
  • Atmega 8 - Odczyt ADC z dwóch pinów zwraca 0, jak to naprawić?

    Musisz przez wpisem do ADMUX nowego kanału wykasować wcześniejszą zawartość tych bitów, czyli ADMUX&=0b11111000; ADMUX|=ch;

    Mikrokontrolery AVR   22 Lis 2011 18:01 Odpowiedzi: 2    Wyświetleń: 1424
  • Przetwornik ADC AVR - Błąd przy próbie kompilacji

    Cześć, od pewnego czasu uczę się programować AVRy, moim kolejnym celem było opanowanie ADC gdzie posługiwałem się poradnikami pana Mirka Kardasia i napisałem(a właściwie to przepisałem) mój pierwszy program, z założenia miał on mrugać diodą z częstotliwością zależną od odczytu z ADC. Błędy które mi wyskakują:[syntax=text]:../main.c:28: error: conflicting...

    Mikrokontrolery Początkujący   10 Lis 2015 17:35 Odpowiedzi: 6    Wyświetleń: 1164
  • [ATmega8][C] Pobieranie napięcia przez przetwornik A/C

    Witam, czy pomógłby mi ktoś pomóc analizując poniższy program? Chcę aby dokonywał się odczyt napięcia z termopary. Niestety tak się nie dzieje. Przedstawiam w kodzie inicjalizację przetwornika, funkcję która ma odbywać się podczas przerwania oraz FRAGMENT int main(). ISR(TIMER0_OVF_vect) { uint16_t x,y; napiecie = ADCH; // czytaj wartość...

    Mikrokontrolery AVR   10 Gru 2008 23:49 Odpowiedzi: 15    Wyświetleń: 1724
  • Przetwornik ADC w ATmega8 i pomiar z dwóch kanałów

    Chcałem prosić o poradę. Chcę zastosować ATMega8 i wewnętrzne przetworniki A/C. Pomair ma być dokonywany z dwóch kanałów. Ma to wyglądać tak że kanał jest podawany jako argument w funkcji (program w C). Np. unsigned int adc(unsigned char kanal); W nocie katalogowej czytałem ze pierszy pomiar po uruchomieniu przetwornika (wpisaniu do ADEN) zajmuje najdłużej...

    Początkujący Elektronicy   25 Lis 2007 20:06 Odpowiedzi: 2    Wyświetleń: 1304
  • [Atmega64] Atmega64: Uszkodzony kanał ADC - jak zdiagnozować i naprawić?

    To może nie pomóc, ale proszę spróbować zmienić linię: while(BitIsClr(ADCSRA,ADIF)); na: while(BitIsSet(ADCSRA,ADSC)); Ponadto widzę, że bity REFS nie są ustawione w ADMUX, zatem rozumiem, że do pinu AREF jest dostarczone zewnętrzne napięcie odniesienia.

    Mikrokontrolery AVR   24 Sty 2010 11:46 Odpowiedzi: 3    Wyświetleń: 1823
  • [Atmega][C] ADC - free running - sposób działania

    Jak to dokładnie jest z przetwornikiem ADC? Przeglądam forum i datasheeta od atmegi i nie widzę odpowiedzi na moje pytanie. Chodzi mi o tryb free running. Powiedzcie mi czy dobrze rozumiem zasadę działania przetwornika w tym trybie. Zaczynam od rejestru ADMUX, gdzie ustawiam napięcie odniesienia (REFSx) i kanał (MUXx). Później w ADCSRA ustawiam preskaler...

    Mikrokontrolery AVR   24 Sty 2010 12:20 Odpowiedzi: 7    Wyświetleń: 7151
  • ATmega8 jak odczytać wartość z przetwornika ADC0-ADC5

    Testowanie przetwornika analogowo/cyfrowego // w trybie pojedynczej konwersji #include <avr/io.h> // dostęp do rejestrów #include <util/delay.h> int main(void) // program główny { int a; int pomiar[10]; a= 0; ADMUX = a; // 6 | ADSC | start konwersji - jeśli jest ustawiony ten bit oraz ADEN ADCSR = 103; /* | ADEN | włączenie...

    Mikrokontrolery   06 Maj 2014 19:50 Odpowiedzi: 6    Wyświetleń: 2180
  • Termometr samochodowy z funkcją woltomierza

    Tak jak napisałem w poście jest to mój pierwszy projekt w C i ciężko powiedzieć że opanowałem programowanie w C od początku do końca jednak projekt ukończyłem i jestem zadowolony że działa jak chciałem:) Pomiar napięcia zrobiłem w taki sposób (w tym przypadku wspierałem się jakimś projektem z avrfreaks.net): unsigned int adc_sample(uint8_t Channel)...

    DIY Konstrukcje   02 Lut 2011 20:28 Odpowiedzi: 44    Wyświetleń: 34711
  • atmega8A PU - Serwo sg90 - Dwa napięcia sterujące serwem - program

    [syntax=c] #include <stdio.h> #include <avr/io.h> #include <util/delay.h> #define LED1 PB5 //definicja LED1 (do którego pinu podłączony LED1) #define LED2 PB4 //definicja LED2 (do którego pinu podłączony LED2) int main(void) { DDRB |= (1<<LED1) | (1<<LED2); //LED Pins as Out ADCSRA |= (1<<ADEN)|(1<<ADPS1)|(1<&...

    Robotyka Modelarstwo i CNC   15 Sty 2014 12:28 Odpowiedzi: 5    Wyświetleń: 1665
  • [atmega8][C][adc]problem z odczytem 5 kanałów autokalibracja

    Strasznie bez sensu to robisz. Dlaczego za kazdym razem jak zmieniasz kanał robisz od nowa caly ADC init?? Zmieniaj tylko kanał. Poza tym dalbym te warunki w if kazdy w osobnym nawiasie. Dodano po 5 ustaw sobie najpierw na poczatku programu to: // Wybranie wewnętrznego żródła napięcia odniesienia - Internal 2.56V Voltage Reference with external capacitor...

    Mikrokontrolery AVR   05 Lut 2009 13:38 Odpowiedzi: 4    Wyświetleń: 2313
  • Atmega8 BASCOM - Pomiar prądu z wykorzystaniem wewnętrznego komparatora

    Za pomocą komparatora - nie. Za pomocą ADC w trybie pomiaru różnicowego - tak. Przeglądnij datasheet i sekcję opisującą kanały ADC (rejestr ADMUX)

    Mikrokontrolery AVR   05 Gru 2012 23:17 Odpowiedzi: 1    Wyświetleń: 1953
  • [Atmega8] [Atmega8][C] - ADC nie działa z wewnętrznym Vref przy 3,428V na kanale 3

    A szkoda, bo ten fragment kodu który przytoczyłem, jest błędny. Poniżej wersja "naprawiona" :D Ale taki kod to straszliwe marnowanie czasu. Skoro i tak trzymamy w jakiejś 8 bitowej zmiennej numer kanału, to czemu nie wykorzystać całej zmiennej zapisując w niej rejestr ADMUX? Wtedy w funkcji ReadADC() zamiast 3 linijek [syntax=c] ch=ch&0b00000111; ADMUX&=0xF8;...

    Mikrokontrolery AVR   16 Wrz 2012 13:01 Odpowiedzi: 16    Wyświetleń: 1986
  • [bascom] Jak zrealizować ADC noise reduction w Bascom dla atmega8?

    To nie jest wcale takie skomplikowane. Musisz włączyć zezwolenie na przerwanie od zakończonej konwersji. Wtedy kiedy wprowadzisz uC w stan Iddle albo Noise canceler start konwersji nastąpi automatycznie. Wyboru kanału/wejścia dokonuje się rejestrem ADMUX. Niestety jest w nim też wybór źródła napięcia odniesienia a nie pisałeś czego chcesz użyć. Każde...

    Mikrokontrolery AVR   14 Cze 2017 17:30 Odpowiedzi: 2    Wyświetleń: 1107
  • [ATTINY26] Jak ustawić ADMUX w ATTINY26 dla pomiaru względem masy na 5 wejściach?

    Jeśli piszesz w BASCOM to wystarczy polecenie GETADC z parametrem liczbowym określającym numer kanału.

    Mikrokontrolery AVR   11 Sie 2008 17:27 Odpowiedzi: 18    Wyświetleń: 3118
  • [C] Problem z ustawieniem wyjść/wejść przy używaniu ADC

    Witam Dopiero uczę się C i natknąłem się na problem w takim kodzie : [syntax=c] #include <avr/io.h> #include <util/delay.h> #include"obsluga_LCD.h" uint16_t pomiar(uint8_t kanal); uint32_t wynik; uint16_t pm; uint8_t cz_d, cz_u; uint8_t a; int main(void) { ADMUX |= (1<<REFS0); //(1<<REFS1); ADCSRA |= (1<<ADEN) | (1<<ADPS1)...

    Mikrokontrolery AVR   28 Wrz 2013 09:21 Odpowiedzi: 6    Wyświetleń: 1410
  • [ATMEGA328p-pu] - Nieprawidłowy pomiar ADC w programie BLDC_mega328p

    W przerwaniu dodałeś funkcję: [syntax=c]uint16_t pomiar (uint8_t kanal) { ADMUX = (ADMUX & 0b11111000) | kanal; ADCSRA |= (1<<ADSC); //start konwersji while ( ADCSRA & (1<<ADSC) ) ; return ADCW; }[/syntax] która zmienia ustawienia ADC, którego multiplekser używany jest do sterowania silnikiem. W którym miejscu kodu zadbałeś o ponowne...

    Mikrokontrolery AVR   23 Lis 2014 17:44 Odpowiedzi: 17    Wyświetleń: 2001
  • [ATmega 644p] ATmega 644p: Jak uśrednić próbki ADC z wielu kanałów w C?

    Ja w swoim urządzeniu zastosowałem taki algorytm: unsigned char ilpom; // licznik ilości pomiarów. dla każdego kanału wykonuję w pętli ilpom pomiarów. Najpierw zeruję tablicę - np. kanal Dodano po 7 unsigned int pomcal(char kanal, char licznik) // funkcja pomiaru ADC { uint16_t pomiar(uint8_t); // deklaracja typu funkcji dla pomiar...

    Mikrokontrolery AVR   19 Sie 2010 14:13 Odpowiedzi: 3    Wyświetleń: 1962
  • ATmega8 ADC – dlaczego odczyt ADC zawsze 0? Prośba o sprawdzenie kodu C

    Kol. dondu pisał o pisaniu algorytmu(przebieg programu), a można to też wykonywać w pisaniu programu. Przedstawiam Ci takiego gotowca - co Ty na to? [syntax=c] #include <avr/io.h> #include <util/delay.h> #define led1 PB0 //defincja diody podłaczonej do PB0 void init_ADC (void); //deklaracja funkcji uint16_t pomiar(uint8_t kanal) //deklaracja...

    Mikrokontrolery AVR   02 Kwi 2015 20:34 Odpowiedzi: 97    Wyświetleń: 6741
  • [ATmega16][C/AVRStudio] Układ nadążny za słońcem+LCD+MENU

    Koledzy, staram się teraz uruchomić przetwornik ADC. Ma on sczytywać napięcie po fotorezystorze. Ale cały czas pokazują mi się 0.00. Proszę o sprawdzenie poniższego kodu: #include <stdio.h> #include <avr/io.h> #include <util/delay.h> #include "hd44780.h" char V11[20]; //formulowanie wyniku double V1; //przechowywanie...

    Mikrokontrolery AVR   10 Lis 2010 22:21 Odpowiedzi: 104    Wyświetleń: 14547
  • [ATmega128][C] ADC, coś źle robię - nie widzę tego.

    Próbuję odczytać napięcie z li-pola. Wszystko skonfigurowałem jak poniżej. Kod: DDRD=0xFF; DDRF=0x00; InitADC(); while(1); { PORTD=ReadADC(BATT); TimeDelay(wait); } gdzie poszczególne funkcje i definicje: #define BATT 1 void InitADC() // Inicjalizacja przetwornika A/C { ADMUX = 0x60; // 0 1 1 0...

    Mikrokontrolery AVR   28 Gru 2010 23:32 Odpowiedzi: 4    Wyświetleń: 1095
  • Jak zmierzyć niskie napięcie stałe ADC3 w ATtiny26 z gain x20 w Bascom?

    Może być kłopot, gdyż zwykła funkcja GETADC() może ograniczyć liczbę kanałów do 10 - zatem tylko normalne. Dopiero w trybie różnicowym jest dostęna opcja wzmocnienia sygnału różnicowego x1, x20. W sumie jeśli dałoby się wybrać wybrać kanał 11 (Chodzi tylko o to by do bitów ADMUX trafiła poprawna wartość.) poprzez GETADC(11), to wtedy napięcie "dodatnie"...

    Mikrokontrolery   11 Sie 2007 06:12 Odpowiedzi: 7    Wyświetleń: 1836
  • tiny13 + asm + 2ADC, startowanie konwersji? kanał?

    Może usciśle. Ustawiam: ADEN ,ADATE ,ADPS2-0 w ADCSRA ADTS2-0 w ADCSRB na free REFS i ADLAR w ADMUX zeruje ADC2D i ADC3D w DIDR0. I teraz 1 na ADSC w ADCSRA uruchamiam konwersję ADC2, a autotrigerinng powinien automatycznie wybrać następny kanał "niezabroniony" w DIDR0. Czekam na flagę adc Czytam adcL, adcH, przepisuję wartości i.. loop (czekam na flagę)...

    Mikrokontrolery AVR   25 Sty 2009 16:03 Odpowiedzi: 4    Wyświetleń: 1119
  • Atmega8 [C] - Sterowanie diodami na podstawie czujników linii TCRT5000

    Witam, uczę się języka C i od kilku dni się głowię nad pozornie prostą instrukcją w C. ten układ to tester do czujników linii w przyszłym linefollowerze model tcrt5000 zależy mi na tym, że gdy ADC4 wykryje coś to żeby zapaliły się dwie diody, gdy ADC3 to niech zapali się tylko LED1, a gdy ADC5 wykryje niech zapali się tylko LED2, próbowałem wiele instrukcji...

    Mikrokontrolery   09 Lut 2017 14:34 Odpowiedzi: 4    Wyświetleń: 486
  • atmega32[C]solar-sieć 230V monitorowanie i sterowanie

    ...ok jak na dziś to mam już dosyć....wybaczcie ale naprawdę już nie myślę... //--------------------------------------... // >>>>>>>>>>... moje alpejskie kombinacje z C <<<<<<<<<<... //--------------------------------------...

    Mikrokontrolery AVR   16 Sie 2010 14:28 Odpowiedzi: 21    Wyświetleń: 3592
  • [ATtiny13][C] - Obsługa ADC dwa kanały, niepoprawne działanie jednego kanału.

    Witam, Zwróć uwagę na tą linię: BlueDraco pokaż może najpierw schemat. P.S. Teraz dopiero dostrzegłem, że masz : [syntax=c]ADMUX &= ~(1 << REFS0); //Vref=Vcc[/syntax] Bo w poście powyżej pisałeś, że wewnętrzne AVRef. Tak to już w ogóle lipa, pewnie zasilasz uC z +5V, stąd te Twoje przeliczenia mają z grubsza jakiś sens ( choć i tak nie są...

    Mikrokontrolery   17 Mar 2015 17:56 Odpowiedzi: 13    Wyświetleń: 1404
  • filtr max293 czy max297 do analizatora widma - jak działa?

    Witam. Uruchamiam właśnie układ. Mam Atmege128. Do kodu dodałem takie linijki dla ustawienia taktowania MAX293, czy dobrze? if(flags & _BV(RATE_LOW)) { flags &= (uint8_t) (~(_BV(RATE_LOW))... //ADMUX = ADMUX_SH; // przelaczenie timera na 16KHz(timer na 1,6MHz) TCCR2 |= _BV(WGM21) |...

    DSP i Transmisja   18 Gru 2013 09:12 Odpowiedzi: 22    Wyświetleń: 9723
  • Program do sterowania serwami- prośba o dokończenie

    Teraz jest tak: [syntax=c] #include <avr\io.h> #include <avr\interrupt.h> #include <util/delay.h> #define LICZBA_KANALOW 8 //maksymalna ilość kanałów volatile unsigned int napiecie[LICZBA_KANALOW]; volatile uint8_t stany_portow[8]={0x1,0x2,0x4,0x8,0x10,0x... jest ten LUT volatile uint16_t gADC_sr; volatile uint8_t flag_period;...

    Mikrokontrolery   27 Sie 2013 15:13 Odpowiedzi: 43    Wyświetleń: 8001
  • [AVR] [AVR][ATtiny25][ADC] Jak poprawnie odczytać dane z dwóch kanałów?

    Witam Mam ja sobie taki oto kod : #include <avr/interrupt.h> #include <avr/io.h> #define XX 10 int pomiar=0; int ilosc_pomiarow=XX; int temp; int main(void) { //PORTS DDRB = (1<<PB0 )| (1<< PB1 ); //ADC ADMUX=2; ADCSRA= ( 1<<ADPS0)|(1<<ADPS1&... | ( 1<< ADPS2);//ADC...

    Mikrokontrolery AVR   31 Gru 2010 15:30 Odpowiedzi: 4    Wyświetleń: 1688
  • Jak powiązać licznik i ADC w ATmega16 do generowania sygnału o zmiennej częstotliwości?

    Dzięki za pomoc panowie. Napisałem od nowa program na innym timerze i ruszyło, wyskalowałem sobie to jak chciałem i git. Potem dodałem drugi potencjometr na inne wejście i zdefiniowałem drugi timer - tym razem chcę pwm o wypełnieniu z zakresu 6-27%. Generalnie mi się to udało mniej więcej obliczyć i zaimplementować. Ale pojawił się problem z pomiarem...

    Mikrokontrolery AVR   11 Sty 2016 18:05 Odpowiedzi: 10    Wyświetleń: 1347
  • Jak zaimplementować wskaźnik naładowania 6 kanałów na Atmega8A?

    Cześć! Jest to moja pierwsza przygoda z Atmegą8, więc proszę o wyrozumiałość. Potrzebny okazał się wskaźnik naładowania baterii 6 kanałowy. Postanowiłem wykorzystać 6 portów ADC z Atmegi8A, kod pomógł pisać kolega. Program działa, lecz wskaźnik działa tylko na jednym "kanale". Jak zrobić ,żeby działał na wszystkich 6-ciu ? Wymagania stawiane programowi...

    Mikrokontrolery AVR   21 Cze 2015 19:09 Odpowiedzi: 17    Wyświetleń: 1488
  • [ATMEGA 32][C] - Pomiar napięcia zmiennego przez ADC - program

    To jest akurat dobrze, w rejestrze OCR1A mam wartosc porownywaną tak jest w dokumentacji. Uproscilem troszke program, napisalem nowy do pomiaru narazie na jednym kanale, ten sam problem. Wygląda na to jakby przerwanie w ogóle nie było wykonywane. Co ciekawe napisałem sobie z ciekawości program do obsługi identycznie skonfigurowanego przerwania CTC z...

    Mikrokontrolery AVR   19 Gru 2013 15:59 Odpowiedzi: 10    Wyświetleń: 3420
  • [Atmega32][C]monitorowanie solara i sterowanie obw.230V

    ....mały kłopot z funkcja wykluczająca działanie portu byłbym wdzięczny za sugestie jak ją mądrze sformułować...to ta pomiędzy liniami z gwiazdek... //--------------------------------------... //########## A T A M E G A - 32 ########## //--------------------------------------... #include <stdint.h> #include <avr/io.h> #include <stdlib.h>...

    Mikrokontrolery AVR   18 Wrz 2010 23:02 Odpowiedzi: 45    Wyświetleń: 7066
  • Pomiar prądu w latarce z programem pisanym pod atmege 8 w języku C.

    Witam! Mam problem z programem pisanym pod atmege8 w języku C. Założenia są proste - układ steruje diodą LED mocy poprzez wyjście PWM'u podłączonego pod tranzystor mosfet. Na początku wypełnienie zmieniałem dodając bądź odejmując założoną liczbę od rejestru OCR1A. Jednak z racji wytracania dużej ilości energii na rezystorze postanowiłem, że zamiast...

    Mikrokontrolery AVR   14 Sie 2016 10:27 Odpowiedzi: 8    Wyświetleń: 1356
  • [ATMega16] [ATMega16][C] - Jak poprawnie odczytać ADC z dwóch kanałów?

    twoje ustawianie ADMUX robi OR, więc ustawiając 1 a potem 2 tak naprawdę ustawiasz 3 a przy okazji, zamiast czekać na ADIF lepiej czekać na wyzerowanie ADSC, odpadnie ci dodatkowa operacja zerowania ADIF

    Mikrokontrolery AVR   14 Gru 2012 15:21 Odpowiedzi: 2    Wyświetleń: 1344
  • [atmega8] Jak podłączyć czujnik KTY 81-210 do ATmega8 i mierzyć temperaturę?

    Tak eliminacja wpływu niestałości długoterminowej (dryftu) to zaleta takiego pomiaru, podobnie w metodzie mostkowej eliminuje się wpływ zmian napięcia zasilania na wynik. Czytanie pojedynczych rejestrów jest możliwe, lepiej jednak od razu czytać cały rejestr. Kompilator zadba o odpowiednią kolejność i zoptymalizuje kod. Można porównać jak to wygląda...

    Mikrokontrolery Początkujący   15 Sty 2013 17:28 Odpowiedzi: 24    Wyświetleń: 15111
  • [Atmega32][C] Odczytywanie tylko jednego kanału ADC zamiast kilku

    Witajcie, mam problem z odczytem wartości z 2 kanałów ADC. Procesor to atmega32. Używam Timer0 żeby przełączać kanały, a na wyświetlaczu wyświeltane są 2 wartości, ale obydwie pokazują to samo- odczytywany jest tylko jeden kanał Inicjalizacja ADC [syntax=c]void ADC_init() { // ADC ADCSRA = (1<<ADEN) |(1<<ADPS0) | (1<<ADPS2) | (1<<ADSC);...

    Mikrokontrolery AVR   09 Kwi 2014 18:30 Odpowiedzi: 11    Wyświetleń: 1512