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



Teraz jest 5 gru 2024, o 02:36


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 40 ]  Przejdź na stronę Poprzednia strona  1, 2
Autor Wiadomość
PostNapisane: 5 lut 2015, o 11:36 
Offline
Użytkownik

Dołączył(a): 31 mar 2014
Posty: 43
Pomógł: 0

czy powyzszy tester zadziala na atmedze 16 ? mowa o bledach w kodzie kotry ja wkleilem czy kolega matw



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2015, o 12:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Niestety potrzebna jest Atmega32. Na Atmega16 nie działa prawidłowo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2015, o 20:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2014
Posty: 446
Lokalizacja: DKL
Pomógł: 53

@ostr, sprawdziłem dokładnie twój kod i mam następujące uwagi:

W pliku daw_sdd1306.c

1. brak części kodu odpowiedzialnego za wysłanie komend inicjalizacji, ty masz:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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


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

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


3. W funkcji daw_ssd1306_display() , też namieszane, bo:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
jest błędne i wystarczy tylko linijka:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Po zastosowaniu w/w zmian, na wyświetlaczu mamy:
Obrazek

Powodzenia.

_________________
Migracja z punktu B do punktu C
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2015, o 23:32 
Offline
Użytkownik

Dołączył(a): 31 mar 2014
Posty: 43
Pomógł: 0

czesc, dzieki bardzo za pomoc,juz udalo mi sie go rano odpalic poprawilem wlasnie bledy ktore wskazales u gory , jednak nadal nie dzialal , zakoczyl dopiero kiedy zasililem go napiecie z usb, wczesniej zasilalem go zewnetrznym zasilaczem i nie dzialal nie wiem czemu .
Pozdrawiam
Dawid



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lut 2015, o 00:59 
Offline
Użytkownik

Dołączył(a): 31 mar 2014
Posty: 43
Pomógł: 0

chwalilem sie ze dziala a tu niestety nie do konca. problem polega na tym ze po skasowaniu pamieci procesora tak jak czynil to pan Mirek w poradniku wylaczeniu i wlaczeniu zasilania ekran u mnie nie jest ciemny , mam pojedyncze piksele + zapalony wiekszy kwadracik ktory pozniej po inicjalizacji i probie wyswietlenia piksela czy bit mapy ZAWSZE pokazuje sie w prawym dolnym rogu, oprocz wswietlonej bitmapy w prawym dolnym rogu zawsze swieci sie malutki kwadracik , probowalem go zerowac pusta bitmapa i nic. kolejny problem jest taki ze przy uzywaniu funkcji daw_ssd1306_cls wyswietlacz sie kasuje ale program zaczyna sie tak jakby od nowa , czyli zalozmy ze mam w funkcji main inicjalizacje,pozniej wyswietlanie kilku pikseli dalej funkcja cls i dalej zaladuj bitmape to wyswietla sie tylko piksele i nastepnie wyglada na to jakby program zaczynal sie znow od inicjalizacji. Prosze o pomoc , widocznie jestem sierota mecze sie pol dnia i juz nie wiem czy cos z wyswietlaczem czy z programem ale pewnie to drugie.

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lut 2015, o 10:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Pewnie ani jedno, ani drugie! Potrzebujesz mikrokontrolera z większą pamięcią (powyżej) 1kB RAM. W skrócie ATmega16 odpada, a nadaje się np. ATmega32, ATmega328 itd. Przeciież na bufor wyświetlacza potrzebne jest 1kB pamięci, a gdzie reszta?

------------------------ [ Dodano po: 25 minutach ]

Zobacz:
topic7982-180.html?hilit=oled%20bufor



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lut 2015, o 11:30 
Offline
Użytkownik

Dołączył(a): 31 mar 2014
Posty: 43
Pomógł: 0

dzieki ! ale nadal zostanie prawdopodobnie problem z funkcja cls , czemu wykonuje u mnie tak jakby reset programu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lut 2015, o 11:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2014
Posty: 446
Lokalizacja: DKL
Pomógł: 53

anshar napisał(a):
W skrócie ATmega16 odpada, a nadaje się np. ATmega32, ATmega328 itd. Przeciież na bufor wyświetlacza potrzebne jest 1kB pamięci, a gdzie reszta?
I dlatego nieoceniony jest Eclipse Gadżet, bo nawet jeśli zapomnimy o dostępnej ilości pamięci RAM w procku, to Gadżet nam ładnie pokaże że przekroczyliśmy limit pamięci RAM, EEprom czy też Flash.

_________________
Migracja z punktu B do punktu C
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lut 2015, o 11:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Cytuj:
dzieki ! ale nadal zostanie prawdopodobnie problem z funkcja cls , czemu wykonuje u mnie tak jakby reset programu?


Pewnie z tego samego powodu, za mało pamięci RAM w procku.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lut 2015, o 11:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

anshar napisał(a):

Pewnie z tego samego powodu, za mało pamięci RAM w procku.


Program nadpisuje sobie stos i przez to się gubi, co w rzeczywistości powoduje jego zachowanie podobne do resetu (a nawet sam reset). Równie dobrze mógłby się po prostu zapętlić i wisieć niczym janosik na haku.

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



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: 40 ]  Przejdź na stronę Poprzednia strona  1, 2

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników 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