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



Teraz jest 3 lut 2026, o 13:39


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 30 maja 2013, o 14:56 
Offline
Nowy

Dołączył(a): 02 mar 2013
Posty: 12
Pomógł: 0

Witajcie :D

Postanowiłem napisać pliki do obsługi analogowego SHARP'a. Moim celem jest ustawienie ADC na Free Running Mode z przerwaniem uruchamiającym się gdy wartość odczytu przekroczy jakieś tam napięcie. Czujnik ma być do robota klasy minisumo.

I teraz : Czy to jest dobra koncepcja ? (free running mode i przerwanie)? Czy może lepiej użyć wewnętrznego komparatorai wywzolić funkcję gdy coś tam? Albo na upartego mierzyć każdorazowo napięcie i gdy przekorczy jakąs tam wartość to skierować callbackiem na jakąś funkcje?

Narazie męczę tę pierwszą koncepcję i zawiesiłem się na przerwaniu. Oto kody:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


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


W BlueBooku dobrze opisana jest obsługa Single Conversion Mode natomiast Free Running Mode pominęty i nie wiem jak się za niego zabrać ;/
Oczywiście mogę obsłużyć sharpa z Single Conversion Mode ale chciałbym też poznać inne dobrodziejstwa ADC, więc inne pomysły, jak wew. komparator, są mile widziane :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 maja 2013, o 20:37 
Offline
Nowy

Dołączył(a): 02 mar 2013
Posty: 12
Pomógł: 0

Spróbowałem napisać program do tego samego ale przy użyciu trybu pojedynczego pomiaru czyli Single Conversion Mode naśladujac kod z Bluebooka.

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


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


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


Oczywiście nie działa... Ktoś ma pomysł dlaczego?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 maja 2013, o 20:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

ADMUX |= (1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); //preskaler 128, taktowanie uC 16Mhz

Ta linijka mi nie pasi w ADMUX nie ma takich bitów tylko w ADCSRA


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 maja 2013, o 20:54 
Offline
Nowy

Dołączył(a): 02 mar 2013
Posty: 12
Pomógł: 0

Działa. Ale wstyd... :P Masz piwo!

Wracając do Free Running Mode, ktoś to ogarnia? Jak wyzwolić przerwanie w tym trybie?



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

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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO