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



Teraz jest 29 sty 2025, o 11:59


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 29 sie 2013, o 17:29 
Offline
Nowy

Dołączył(a): 29 sie 2013
Posty: 4
Pomógł: 0

Witam serdecznie wszystkich forumowiczów :)
Przejdę odrazu do rzeczy. znalazłem w sieci program do odbioru rc5 i drugi program do sterowania wyświetlaczem ze sterownikiem hd44780. Gdy je połączyłem w jeden i skompilowałem, nie wywaliło mi żadnych błędów, ale gdy sprawdziłem jak działa na mikrokontrolerze... no właśnie nie działa :/ tzn na wyświetlaczu nic się nie pokazuje. Sprawdzałem na 4 pilotach. Podłączyłem nawet diodę przy tsop1736 i działa poprawnie, ale na wyświetlaczu nic nie ma...
Poniżej zamieszczam owy program.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sie 2013, o 18:21 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Masz problem z taktowaniem i związanymi z tym funkcjami. W pliku aux_globals nie potrzebnie jest:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

i nie potrzebujesz zdeklarowanej tam funkcji delay_us skoro odpowiednik jest w util/delay.h
Zgodnie z opisem konfiguracji timera powinieneś mieć taktowanie 8MHz. Które ustaw programując odpowiednie fusebity i dodatkowo ustaw w opcjach projektu, bo z niego korzystają funkcje _delay_ms i _delay_us (nie zapomnij zrobić Clean a potem Build po takiej zmianie)

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sie 2013, o 21:09 
Offline
Nowy

Dołączył(a): 29 sie 2013
Posty: 4
Pomógł: 0

Poprawiłem ten plik, a tak szczerze mówiąc to nigdy nie miałem potrzeby zmieniania ustawień fuse bitów, zawsze odpalam µC na wewnętrznym generatorze rc. Nie wystarczy jak ustawie taktowanie w avr-gcc? (piszę program w gedit a kompiluje i wgrywam na µC z poziomu terminala, nie lubie babrać się w tych wszystkich ustawieniach eclipse czy tym podobnych)
Składnia: [ Pobierz ] [ Ukryj ]
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


PS. Masz taki avatar z powodu gry lolipop chainsaw czy może Jessici Nigri :lol: ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sie 2013, o 21:45 
Offline
Moderator
Avatar użytkownika

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

TeO napisał(a):
Nie wystarczy jak ustawie taktowanie w avr-gcc?


W avr gcc nie ustawia się taktowania procesora .... to co piszesz pokazuje tylko jak na razie mocno nie rozumiesz o co tu chodzi. Więc dwa słowa wyjaśnienia.

1. Za pomocą fusebitów ustawiasz FIZYCZNE taktowanie ... częstotliwość z jaką procesor pracuje - rozumiesz - fizyczne taktowanie

2. za pomocą ustawienia F_CPU - dajesz tylko kompilatorowi informację z jaką częstotliwością jest taktowany procek aby mógł sobie odpowiednio obliczać opóźnienia.

A więc jeśli w avr gcc ustawisz jakąś tam wartość F_CPU nie związaną z tym co masz w procku ustawione to chyba sam już się domyślasz, że oszukujesz kompilator i on sobie przelicza opóźnienia dla twojej wyssanej z palca częstotliwości ... A potem wszystko źle działa.

Więc:

TeO napisał(a):
a tak szczerze mówiąc to nigdy nie miałem potrzeby zmieniania ustawień fuse bitów


to nie jest dobre podejście bo Fuski nie są trudne - zobacz sobie np na zakładkę "Fusy Uproszczone" w programie MkAvrCalculator, który w pełni będzie w wersji FREE działał z twoim prockiem ATmega8 - zobaczysz, że to łatwe i przyjemne

http://atnel.pl/mkavrcalculator.html

_________________
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: 30 sie 2013, o 06:33 
Offline
Nowy

Dołączył(a): 29 sie 2013
Posty: 4
Pomógł: 0

Doszkoliłem się troszkę na temat fuse bitów... a więc ustawiłem tak: hfuse=0xD9, lfuse=0xe4 (raczej powinno być 8MHz, czyż nie?) w razie wu daję kod
Składnia: [ Pobierz ] [ Ukryj ]
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

A na wyświetlaczu nadal pozostają smutne kwadraciki kontrastu :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sie 2013, o 20:13 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

To jest spoko (chociaż zamiast 0 lepiej pisać PB0)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

A to jest nieczytelne i niepotrzebne. Skasuj to całkowicie.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Wyświetlacz LCD ma konfigurowane I/O swoich plikach. Musisz tylko dobrze wybrać piny i RW podłączyć do masy. Po uruchomieniu powinien migać kursor na pierwszej pozycji. Pisząc DDRB = 0xFF; wyprowadzenie, które miało być wejściem RC5 konfigurujesz jako wyjście i dlatego nie działa.
TeO napisał(a):
PS. Masz taki avatar z powodu gry lolipop chainsaw czy może Jessici Nigri ?

Lubię lizaki ;)

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sie 2013, o 22:55 
Offline
Nowy

Dołączył(a): 29 sie 2013
Posty: 4
Pomógł: 0

Przepraszam, że tyle czasu nie odpisywałem ale cały dzień byłem zajęty. Teraz poprawiłem te błędy w programie i nadal nic, ale wgrałem do jednej atmegi (1MHz) program testowy hd44780 i do drugiej (8Mhz) i brak reakcji, musiałem coś schrzanić w okablowaniu. Jeszcze jutro postaram się to naprawić bo dziś jestem już zmęczony.
Tak tylko piszę żebyście nie myśleli, że was olałem ;)

Edit: to jednak nie wina połączenia tylko kompilacji (troche pokiełbasiłem w komendach). Przykładowy "hello world" dziala, a rc5 juz nie (poprawilem błędy) :/ spróbuje jeszcze przerobic ten program i dam znać

Edit2: No niestety nadal bez zmian... Nie wiem czy to wina programu czy czegoś innego. W każdym razie i tak nie moge sobie z tym poradzić, Temat pozostaje nierozwiązany :(



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO