Witam.
Mam problem z zaprogramowaniem przetwornika AD w procku ADUC812.
Program ma wykonywać POMIARY i dlatego wykorzystuję w tym celu przerwania. Wyniki pomiarów wysyłam przez RS232c do PC.
Mam dwa pomysły (obydwie wersje działają, ale błednie) na wykonanie tego programu, ale jakoś nie potrafie dokonac trafnego wyboru:
1) Przerwanie od Timera 2, a w nim wywołuję poczatek konwersji ADC. Wyniki zapisywane są do zmiennej typu static a program główny wysyła mi pomiar do PC.
2) Przerwanie od ADC, które wysyła mi wyniki pomiaru do PC. Pomiar ADC wyzwalany jest przepełnieniem Timera 2, a jego koniec zgłasza przerwanie.
Mam jeszcze prośbę, jeżeli ktoś wie w jaki sposób ustawiać czas przepełnień T2, prosiłbym o podanie wzoru wg, którego mógłbym to obliczać. Ja sie juz troszke pogubiłem w tamacie i błądze w ślepej uliczce.
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięProgramowanie ADC
Moderatorzy:Jacek Bogusz, procesorowiec, robertw, tomasz_jablonski, r-mik, Moderatorzy
Nie znam tego układu od strony programowej, ale napisze jak ja bym to widział:
1 przerwanie od ADC (rozumiem że takowe w tym procku występuje), odczytuje wartość i wpisuje ją do zmiennej TEMP
2 główny program odczytuje TEMP i przetwarza, oblicza, i zapisuje do buforu transmisji RS232. TEMP musi być szybko zwolniony żeby nie został nadpisany
3 PC ciągle odpytuje o wynik badania i jeżeli procek przetworzył to mu wysyła
Jeżeli niema przerwania od ADC to przerwanie od TIMER'a np daje znać do odczytu ADC lub odczytuj tylko w przerwaniu a obliczaj w głównym programie
Było by dobrze żebyś ustawił najwyższy priorytet dla RS232 żeby nic nie zakłócało transmisji, ale też nie odpytuj za często o nowy pomiar.
1 przerwanie od ADC (rozumiem że takowe w tym procku występuje), odczytuje wartość i wpisuje ją do zmiennej TEMP
2 główny program odczytuje TEMP i przetwarza, oblicza, i zapisuje do buforu transmisji RS232. TEMP musi być szybko zwolniony żeby nie został nadpisany
3 PC ciągle odpytuje o wynik badania i jeżeli procek przetworzył to mu wysyła
Jeżeli niema przerwania od ADC to przerwanie od TIMER'a np daje znać do odczytu ADC lub odczytuj tylko w przerwaniu a obliczaj w głównym programie
Było by dobrze żebyś ustawił najwyższy priorytet dla RS232 żeby nic nie zakłócało transmisji, ale też nie odpytuj za często o nowy pomiar.
A tak w ogóle to w czym jest problem? Co nie działa?
http://www.analog.com/UploadedFiles/Dat ... C812_e.pdf proponuję przeczytanie zwłaszcza stron 33 -35
http://www.analog.com/UploadedFiles/Dat ... C812_e.pdf proponuję przeczytanie zwłaszcza stron 33 -35
-
- -
- Posty:21
- Rejestracja:21 mar 2004, o 18:51
- Lokalizacja:Iwonicz Zdrój, woj podkarpackie
- Kontaktowanie:
Dobra, już sobie poradziłem.
W przerwaniu od T2 (co 50 ms) wywołuję konwersję ADC, Koniec konwersji ADC zgłasza przerwanie, a w nim zapisuję wyniki do zmiennych, które w programie głównym wysyłam do PC.
Problem mam jeszcze tylko z zapisem pomiarów. Musze troche popracowac nad tym, a jak sie pojawia problemy to odezwę się tutaj.
Guru, tego DataShhet'a znam chyba na pamięć, ale dzięki za linka
W przerwaniu od T2 (co 50 ms) wywołuję konwersję ADC, Koniec konwersji ADC zgłasza przerwanie, a w nim zapisuję wyniki do zmiennych, które w programie głównym wysyłam do PC.
Problem mam jeszcze tylko z zapisem pomiarów. Musze troche popracowac nad tym, a jak sie pojawia problemy to odezwę się tutaj.
Guru, tego DataShhet'a znam chyba na pamięć, ale dzięki za linka
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 34 gości