Witam!
Od dwóch dni walczę z Xmegą i nie mogę sobie poradzić. Cel jest prosty - odczytać wartość przez ADC z PA1 (sygnał 0.5-2.5V) i wyświetlić ją na LCD. Na wyświetlacz wysyłam tylko pierwsze 8b wyniku, ale później będę korzystał z pełnej rozdzielczości. Tryb unsigned single-ended odpowiada moim potrzebom.
Pracując z datasheet'em i poradnikami w necie (strony embedded-lab i sunduino) napisałem taki program:
Inicjalizacja ADC
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Pomiar:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
W pętli głównej:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Jak widać, nic skomplikowanego, na ATmegę to parę linijek i śmiga. A tu rwę włosy z głowy i nie działa - Pętla się nie blokuje (LCD się ciągle odświeża i dioda kontrolna miga), ale ciągle widzę "Wynik:0" na wyświetlaczu. Połączenia są ok, zresztą nawet gdyby nie, to powinienem dostawać wynik offsetu ~200.
Nie mam już pomysłu co może być nie tak. Większość poradników przedstawia konfigurację signed mode, więc nie mam odniesienia. Może ktoś spojrzy świeżym okiem i znajdzie błąd - albo przynajmniej nakieruje gdzie szukać...
Mój zestaw: Xmega256A3U + Atmel studio 7.0.
Będę wdzięczny za każdą pomoc.