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



Teraz jest 25 sty 2025, o 19:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 29 gru 2013, o 15:05 
Offline
Użytkownik

Dołączył(a): 29 gru 2013
Posty: 36
Lokalizacja: Szczawnik/Muszyna
Pomógł: 0

Witam wszystkich,

Mam mały problem z tym oto kodem który za zadanie ma wyświetlać
wynik ADC z PC5 [atmegi8A] na wyświetlaczu 2x16 znaków...
Fizycznie zasilanie 5V trafia do PC5 przez dzielnik rezystorowy
z potencjometrem [1 rezystor-10k,potencjometr-10k]
Na wyjściu mam eleganckie 0-2,5V, jednak LCD pokazuje niewzruszenie 0 :(

Może to problem z taktowaniem klocka bo startuje on tylko na 1,2,4 MHz...
na 8 już nie mimo że nie używałem jakiś dziwnych #define F_CPU... ani żadnych
dodatkowych includ'ów... Kod do obsługi LCD jest z http://mikrokontrolery.net/avr_c_08.htm

Jako że z instalacją eclipsa same problem (mimo przestrzegania w 100% porad Mirka ;])
używam avr studio 5.1 które zdążyło mnie już zdenerwować... sposobów
na zmiane częstotliwości inaczej jak #define nie znam... Przy zmienie
częstoliwości na 8 MHz w 'Fusy uproszczone' w MkAVRCalculator
LCD zachowuje się jak by była zainicjalizowany pierwszy wiersz [czarne kwadraty]

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

Proszę o pomoc i pozdrawiam,
Rafał



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2013, o 15:21 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

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


Do ADMUX wpisujesz raz jedną liczbę raz zupełnie inną nie skorelowaną z poprzednią.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2013, o 15:26 
Offline
Użytkownik
Avatar użytkownika

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

W pętli głównej nie masz rozpoczęcia pomiaru napięcia
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: 29 gru 2013, o 15:37 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

No i skąd się bierze ta wartość ADC w itoa?
Cytuj:
LCD zachowuje się jak by była zainicjalizowany pierwszy wiersz [czarne kwadraty]

To znaczy że się nie znacjonalizował.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2013, o 15:46 
Offline
Użytkownik
Avatar użytkownika

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

ADC jak i ADCW jest zdefiniowane w pliku nagłówkowym iom8.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Nie wiem tylko o co chodzi z tym #ifndef __ASSEMBLER__.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2013, o 17:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

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


Po resecie lub po włączeniu zasilania wszystkie piny są wejściami



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 gru 2013, o 18:13 
Offline
Użytkownik

Dołączył(a): 29 gru 2013
Posty: 36
Lokalizacja: Szczawnik/Muszyna
Pomógł: 0

Dodałem nową funkcję pomiar() od Mirka:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

lecz znowu lipa bo tym razem 1023 wyświetla cały czas...
Zmierzyłem napięcie na pinie AREF i co chyba dziwne pokazuje mi 1,2V
a patrząc na schemat z datasheet powinno tam być 2,56..?. :( [nie wiem czy dobrze myślę]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 gru 2013, o 18:37 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

Wcale nie ustawiłeś 2,56V - przyczyna w moim pierwszym poście.

To w main nie potrzebne:
Cytuj:
ADMUX = (1<<MUX2) | (1<<MUX0);


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 gru 2013, o 18:55 
Offline
Użytkownik

Dołączył(a): 29 gru 2013
Posty: 36
Lokalizacja: Szczawnik/Muszyna
Pomógł: 0

Ajjj... jaka wtopa ... :)
Trochę tajemniczo wtedy napisałeś i nie zauważyłem że brak | :)

Jednak teraz mam na pinie AREF 3,5 V a atmega8 ma tylko 2,56... co zmniejsza mi rozdzielczość
do 0-500 :(

edit
problem rozwiązany...:) zworki od zasilania cyfrowego były odłączone...:( atmega jechała
tylko na AVCC i AGND :)



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

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