analogReference(INTERNAL) 'INTERNAL' was not declared in this scope - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: analogReference(INTERNAL) 'INTERNAL' was not declared in this scope (/watek-analogreference-internal-internal-was-not-declared-in-this-scope) |
analogReference(INTERNAL) 'INTERNAL' was not declared in this scope - lgema - 08-01-2020 Próbuję odczytać wartości z przetwornika ADC z użyciem wewnętrznego źródła napięcia czyli funkcji analogReference(INTERNAL);, ale podczas kompilacji kodu wyrzuca błąd: "'NTERNAL' was not declared in this scope" - dlaczego? RE: analogReference(INTERNAL) 'INTERNAL' was not declared in this scope - Agregacik - 08-01-2020 Że tak zapytam bom niekompetentny. Czy trzeba coś "pisać" aby wykorzystywać wewnętrzne źródło napięcia odniesienia? Czy domyślnie nie jest ono podłączone do Vcc. Poprawcie jak błądzę. RE: analogReference(INTERNAL) 'INTERNAL' was not declared in this scope - lgema - 08-01-2020 (08-01-2020, 21:54)Agregacik napisał(a): Że tak zapytam bom niekompetentny. Czy trzeba coś "pisać" aby wykorzystywać wewnętrzne źródło napięcia odniesienia? Czy domyślnie nie jest ono podłączone do Vcc. Zasilanie do którego podłączamy układ lubi "pływać" - jest mało stabilne co przekłada się na pomiary ADC, dlatego można użyć wewnętrznego źródła zasilania jako odniesienie do pomiarów... RE: analogReference(INTERNAL) 'INTERNAL' was not declared in this scope - Jarewa0606 - 08-01-2020 Zgadza sie ale tyczy sie to AVR, a my mamy szklane kule i się domyślimy dlaczego analogReference(INTERNAL); wyrzuca błąd: "'NTERNAL' was not declared in this scope" Nawet nie wiemy o jaki układ chodzi i mamy się domyśleć. Ja się domyślam ale nie chce cię rozczarować, RE: analogReference(INTERNAL) 'INTERNAL' was not declared in this scope - Robson Kerman - 09-01-2020 Arduino AVR Boards (Uno, Mega, Leonardo, etc.) DEFAULT: the default analog reference of 5 volts (on 5V Arduino boards) or 3.3 volts (on 3.3V Arduino boards) INTERNAL: an built-in reference, equal to 1.1 volts on the ATmega168 or ATmega328P and 2.56 volts on the ATmega32U4 and ATmega8 (not available on the Arduino Mega) INTERNAL1V1: a built-in 1.1V reference (Arduino Mega only) INTERNAL2V56: a built-in 2.56V reference (Arduino Mega only) EXTERNAL: the voltage applied to the AREF pin (0 to 5V only) is used as the reference. Arduino SAMD Boards (Zero, etc.) AR_DEFAULT: the default analog reference of 3.3V AR_INTERNAL: a built-in 2.23V reference AR_INTERNAL1V0: a built-in 1.0V reference AR_INTERNAL1V65: a built-in 1.65V reference AR_INTERNAL2V23: a built-in 2.23V reference AR_EXTERNAL: the voltage applied to the AREF pin is used as the reference Arduino megaAVR Boards (Uno WiFi Rev2) DEFAULT: a built-in 0.55V reference INTERNAL: a built-in 0.55V reference VDD: Vdd of the ATmega4809. 5V on the Uno WiFi Rev2 INTERNAL0V55: a built-in 0.55V reference INTERNAL1V1: a built-in 1.1V reference INTERNAL1V5: a built-in 1.5V reference INTERNAL2V5: a built-in 2.5V reference INTERNAL4V3: a built-in 4.3V reference EXTERNAL: the voltage applied to the AREF pin (0 to 5V only) is used as the reference Arduino SAM Boards (Due) AR_DEFAULT: the default analog reference of 3.3V. This is the only supported option for the Due. RE: analogReference(INTERNAL) 'INTERNAL' was not declared in this scope - kaczakat - 09-01-2020 Pewnie po tym, co zacytował @Robson Kerman wiele się wyjaśniło, a żeby było do końca jasne "INTERNAL" zadziała dla tych płytek, które mają tylko jedno "INTERNAL", te które mają wybór mają swoje inne "słówka kluczowe". @Agregacik, domyślnie po starcie Arduino AVR używasz odniesienia do VCC, wewnętrzne lub zewnętrzne trzeba ustawić. Jako ciekawostkę dodam, że w czasach, gdy minimalne U zasilania było >2.7V, wstawiali źródła wewnętrzne 2.56, gdy potem obniżono do minimum 1.8V wewnętrzne źródło podaje wartość 1.1V. Dzięki temu uC może zmierzyć jakim napięciem jest zasilany. W modelach przejściowych dostępne były obie wartości Uo. RE: analogReference(INTERNAL) 'INTERNAL' was not declared in this scope - Agregacik - 09-01-2020 Czyli tak w skrócie: DEFAULT: napięcie odniesienia wynosi 5V lub 3,3V - w zależności od zasilania układu - czyli jest równe napięciu zasilania układu, INTERNAL: napięcie odniesienia wynosi 1.1V dla ATmega168 i ATmega328 i 2.56V dla ATmega8, INTERNAL1V1: napięcie odniesienia wynosi 1.1V - tylko ARDUINO MEGA, INTERNAL2V56: napięcie odniesienia wynosi 2.56V - tylko ARDUINO MEGA, EXTERNAL: napięcie podłączone do pinu AREF - 0 do 5V. źródło https://plociennik.info/index.php/funkcje?start=2 RE: analogReference(INTERNAL) 'INTERNAL' was not declared in this scope - Robson Kerman - 09-01-2020 (09-01-2020, 11:58)Agregacik napisał(a): DEFAULT: napięcie odniesienia wynosi 5V lub 3,3V - w zależności od zasilania układu - czyli jest równe napięciu zasilania układu, To w końcu jest równe napięciu zasilania, czy 5V lub 3.3V ??? AVR'y stabilnie pracują już od 1.8V, więc nie można powiedzieć że dla DEFAULT: napięcie odniesienia wynosi 5V. Gdy napięcie odniesienia jest ustawione na Kod: ADMUX = (0x01 << REFS0); /* AVCC with external capacitor at AREF pin */ To napięcie odniesienia jest dokładnie takie, jak zmierzysz na pinie Vin. Czyli pływa zależnie od obciążenia. RE: analogReference(INTERNAL) 'INTERNAL' was not declared in this scope - lgema - 09-01-2020 (08-01-2020, 23:02)Jarewa0606 napisał(a): Zgadza sie ale tyczy sie to AVR, a my mamy szklane kule i się domyślimy dlaczego Kurcze edytowałem post i podczas pisania padła mi bateria, dlatego nie dopisałem najważniejszego - używam w tym wypadku Wemos D1 mini (klon) opartego na układzie ESP8266-E12E/S... RE: analogReference(INTERNAL) 'INTERNAL' was not declared in this scope - Jarewa0606 - 09-01-2020 Własnie tego się domyślałem, a wiesz że esp8266 ma napięcie referencyjne wewnętrzne 1V?? Żeby uzyskać dobre wyniki trzeba zadbać o dobre zasilanie.... Dlatego w tym przypadku wemos d1 to lipa... |