Chcę użyć przetwornika AD w Atmega8. Programuje w bascomie AVR. Jest tam funkcja GetADC i nie mam żadnego problemu z jej uzyciem, ale ma ona taka zasadncizą wadę, że dziala tylko w trybie single i po jej wywołaniu czeka aż konwersja zostanie zakończona. (Jest to dość naturalne, bo przecież musi zwrócić wynik konwersji). Zależało by mi, aby uniknąć tego czekania, właczyć ADC w trybie FREE (ciągła konwersja) i odczytywać wynik konwersji wtedy kiedy będzie mi to akurat potrzebne. Skonfigurowałem więc ADC tak:
Help Bascoma twierdzi, że w zmiennej ADCD jest wynik ostatniej konwersji i że jest to odzwierciedlenie odpowiednich rejestrów procka. Niestety nie udało mi się uzyskać wyniku konwersji bez wywołania getADC, nie wiem też jak określić w bascomie kanał z którego napięcie ma być konwertowane.
Proszę o jakąs porade, jak sobie poradzić z tym problemem... chciałbym używać ADC w trybie free i odczytywać wynik konwersji w momencie kiedy mi się to ubzdura, chciałbym też móc określać kanał... Obawiam się że konieczne sa wstawki w ASM, niestety nie mam o tym pojęcia, może mi ktoś pomoże?
Z góry dzięki
Config Adc = Free , Prescaler = Auto , Reference = Internal
Start AdcHelp Bascoma twierdzi, że w zmiennej ADCD jest wynik ostatniej konwersji i że jest to odzwierciedlenie odpowiednich rejestrów procka. Niestety nie udało mi się uzyskać wyniku konwersji bez wywołania getADC, nie wiem też jak określić w bascomie kanał z którego napięcie ma być konwertowane.
Proszę o jakąs porade, jak sobie poradzić z tym problemem... chciałbym używać ADC w trybie free i odczytywać wynik konwersji w momencie kiedy mi się to ubzdura, chciałbym też móc określać kanał... Obawiam się że konieczne sa wstawki w ASM, niestety nie mam o tym pojęcia, może mi ktoś pomoże?
Z góry dzięki