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



Teraz jest 3 gru 2024, o 01:03


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 20 mar 2014, o 01:35 
Offline
Nowy

Dołączył(a): 20 mar 2014
Posty: 4
Pomógł: 0

Hej. Robię pomiar przetwornikiem analogowo-cyfrowym na kilku kanałach, chciałbym dorzucić obsługę ADC poprzez przyciski typu microswitch. Jeden microswitch odpowiada jednemu kanałowi - wciśnięcie powoduje start, ponowne stop pomiaru itd. Chciałbym to jakoś sensownie oprogramować, na myśl przychodzi mi zmiana stanu logicznego na pinach ADC, jednakże przetwornik nadal będzie wtedy działać. Mieliście kiedys podobny problem i pomysł jak to zrealizować w bardziej elegancki sposób? ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 mar 2014, o 10:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

A mógłbyś to dokładniej opisać i podać jakiś przykładowy schemat jak chciał byś to podłączyć.
Bo jakoś nie mogę rozumieć o co chodzi z tą zmianą stanów na pinach ADC.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 mar 2014, o 13:58 
Offline
Nowy

Dołączył(a): 20 mar 2014
Posty: 4
Pomógł: 0

Zmiana stanów na pinach ADC - chodziło mi o PORTA ^= (1<<PINA) - każdorazowe wciśnięcie przycisku będzie zmieniać stan



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 mar 2014, o 05:49 
Offline
Użytkownik

Dołączył(a): 26 lut 2014
Posty: 227
Lokalizacja: LDZ
Pomógł: 22

W AVR z reguły masz jeden przetwornik ADC i w jednym czasie możesz uzyskać pomiar tylko z jednego pinu. Aby uzyskać pomiar z kilku różnych pinów odczytujesz je po kolei (np. w przerwaniu). Jeśli chodzi o zmianę stanu na porcie nic Ci to nie da, ew. wprowadzisz zakłócenia do pomiarów. Nie napisałeś co to za procek. Jeśli chcesz wyłączać/włączać pomiar na danym pinie to musisz ustawiać w programie jakąś flagę tak by program wiedział, że ma pominąć dany pin przy zbieraniu danych.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 mar 2014, o 07:41 
Offline
Nowy

Dołączył(a): 20 mar 2014
Posty: 4
Pomógł: 0

Pogrzebałem trochę w internecie i książkach, tak jak mówisz ryba84 po prostu nie będę zbierał danych i wysyłał 0 w przypadku gdy adc jest "wyłączony". W pomiarKanal1 i pomiarKanal2 przechowuję wartość sczytaną z przetwornika ADC. PINB0 i PINB1 to piny do których podłączone są przyciski. Dla PINB0 działa elegancko, ale dla PINB1 po naciśnięciu przycisku zmienia się stan i dalej nie mogę ponownie zmienić. Skoro już założyłem temat, to czy byłby ktoś na tyle uprzejmy i powiedział mi co robię źle?

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 mar 2014, o 15:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Skoro do PB0 i PB1 masz podłączone przyciski to dlaczego ustawiasz te piny jako wyjścia?
Jeśli masz podłączone przyciski do GND to konfiguracja tych pinów powinna być taka
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Pierwszej linii nie trzeba pisać bo po resecie procesora wszystkie piny są ustawione jako wejścia.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 mar 2014, o 17:56 
Offline
Nowy

Dołączył(a): 20 mar 2014
Posty: 4
Pomógł: 0

Próbowałem tak, ale wtedy przestaje działać w ogóle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 mar 2014, o 23:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 sty 2014
Posty: 178
Pomógł: 24

w liniach kodu 13 i 25 zmień jeszcze operatory bitowe & (jedno and) na logiczne && (dwa and'y). Oczywiście obowiązkowo konfiguracja pinów tak jak napisał tobie jacekk232 musi być, a tą pierwszą zakomentuj albo wytnij(ale nie nożykiem jak przy maskowaniu bitów :) )



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: 8 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Majestic-12 [Bot] i 0 gości


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