Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 1 gru 2024, o 10:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 13 lis 2012, o 00:30 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 291
Lokalizacja: okolice Opola
Pomógł: 20

Do ADMUX zapisz sobie jeszcze kanał z którego chcesz konwertować (ADC0~ADC7) po prostu zrób jeszcze raz |i nr kanału (jeśli nie używasz trybu różnicowego - tabelka z strony 215 się kłania) - to po pierwsze.

Teraz włączasz konwersję (1 na ADSC) i czekasz na zakończenie konwersji (aż na ADSC pojwi się zero)
OOO np tak:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


No i w zmiennej wynik masz wartość z adc, polub się z notą bo bez tego ani rusz.

------------------------ [ Dodano po: 10 minutach ]

Mozesz też zrobić funkcje przerwania i w niej odczytywać i włączać nastepną konwersję:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Ale przedtem nie zapomnij przed main() włączyć pierwszej konwersji.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2012, o 01:18 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

W avr gcc mamy fajne makro ADCW, ktore reprezentuje parę rejestrow a więc w przerwaniu można wygodniej napisać tak

wynik =ADCW;

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2012, o 09:40 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

Antystatyczny napisał(a):
Najbardziej zalezy mi na informacji, w którym rejestrze włacza się free running, a konkretnie chodzi mi o taki free, który będzie generował automatycznie ADC_vect.


Bierzesz sobie pan rejestr ADCSRA, i ustawiasz w nim:
Obrazek

poza tym musisz jeszcze zezwolić chyba na przerwanie żeby się wykonywało hmmm?:
Obrazek

I musisz pamiętać, że bit ADATE ma związek z bitami ADTSx w rejestrze SFIOR, przy czym zostawiasz je domyślnie ustawione na 000
Obrazek

Antystatyczny napisał(a):
Co do rozdzielczości... po ponownym przeczytaniu książki Mirka rozumiem, że mam ustawić ADLAR w ADMUX, by uzyskać 8 bitów.

No oczywiście że tak.
Obrazek

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO