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



Teraz jest 30 mar 2026, o 20:58


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 28 ] 
Autor Wiadomość
 Tytuł: KS0108 [C]
PostNapisane: 30 paź 2016, o 18:11 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 01 sty 2016
Posty: 17
Lokalizacja: Łódź
Pomógł: 0

Witam. Od dwóch dni walczę z wyświetlaczem 128x64 na KS'ie z różnymi bibliotekami m.in. Radzia i mam problem z wyświetlaniem czegokolwiek :( Czy mógłby mi ktoś podpowiedzieć dla czego obsługa mojego wyświetlacza jest taka powolna ? Kodu bibliotek i mojego nie będę załączał bo temat wałkowany od stu lat na forum jednak nie mogłem znaleźć podobnego przypadku do mojego. Dodam jeszcze że do pewnego momentu wyświetlacz działał normalnie i od wgrania programu z inną biblioteką wyświetlacz strasznie zwolnił. Nie wiem czy to problem ze sprzętem czy ze softem :( Załącze filmik. https://www.youtube.com/watch?v=leT9EeuMhmI



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 18:27 
Offline
Użytkownik

Dołączył(a): 27 lut 2013
Posty: 230
Pomógł: 4

klimeq napisał(a):
Czy mógłby mi ktoś podpowiedzieć dla czego obsługa mojego wyświetlacza jest taka powolna ?


A na podstawie czego ktokolwiek ma cokolwiek stwierdzić?
bo chyba nie na podstawie tego:
klimeq napisał(a):
Kodu bibliotek i mojego nie będę załączał bo temat wałkowany od stu lat na forum jednak nie mogłem znaleźć podobnego przypadku do mojego. Dodam jeszcze że do pewnego momentu wyświetlacz działał normalnie i od wgrania programu z inną biblioteką wyświetlacz strasznie zwolnił.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 18:52 
Offline
Użytkownik

Dołączył(a): 29 lip 2014
Posty: 195
Pomógł: 44

Witam.

Wcześniej przeczytałem ten wątek. ale po prostu wzruszyłem ramionami i tyle, nie chciałem być tak dosadny jak Kolega michal1210 ;-). A na poważnie: Kolego klimeq, jeśli oczekujesz pomocy, musisz umieścić tu kod projektu, napisać jaki uC i jak podłączony jest wyświetlacz ( najlepiej schemat całości ).

Pozdrawiam, QuadMan.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 19:10 
Offline
Użytkownik

Dołączył(a): 27 lut 2013
Posty: 230
Pomógł: 4

QuadMan napisał(a):
nie chciałem być tak dosadny jak Kolega michal1210


Przepraszam... ;)
Nie chciałem być dosadny, tylko zaznaczyć, że naprawdę na podstawie tego co kolego napisał nic się nie da pomóc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 19:12 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 01 sty 2016
Posty: 17
Lokalizacja: Łódź
Pomógł: 0

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


ks108.h
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.


Procesor Atmega32, środowisko Atmel Studio 6.2

RS <> PORTC2
R/W <> PORTC1
E <> PORTC0
CS1 <> PORTC5
CS2 <> PORTC6
RST wyświetlacza wisi w powietrzu, początkowo tak wszystko śmigało.



Ostatnio edytowano 30 paź 2016, o 19:34 przez klimeq, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 19:17 
Offline
Użytkownik

Dołączył(a): 27 lut 2013
Posty: 230
Pomógł: 4

kolego popraw wstawianie kodu bo zaraz moderatorzy się przyczepią...

Jesteś z nami już prawie rok i pewnie nie jeden wątek przeczytałeś i nie raz już były podobne sytuacje, że pytanie nie było sprecyzowane albo źle wstawiony kod. Na pewno się na takie coś natknąłeś nie raz, więc nie popełniaj takich podstawowych błędów ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 19:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 mar 2015
Posty: 202
Pomógł: 15

Wywal kolego definicje f-CPU to robimy z poziomu ustawień w eklipsie. Zobacz jak przedstawisz fuzy na 8MHz czy wyświetlacz przyspieszy .

Wysłane z mojego HTC One_M8 przy użyciu Tapatalka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 19:43 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

klimeq napisał(a):
#define F_CPU 1000000

A co to robi w kodzie?
Naprawdę odpalasz to na 1MHz?

widzę że kolega wyżej mnie uprzedził ;)

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 19:45 
Offline
Użytkownik

Dołączył(a): 22 gru 2013
Posty: 296
Lokalizacja: Szczecin
Pomógł: 47

Jeżeli chcesz mieć naprawdę szybką obsługę KS-a, znajdź/napisz jego obsługę za pomocą bufora w SRAM procesora. Zajmie to 1KB (128*64/8 ), w mniejszych projektach nie powinno przeszkadzać.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 19:45 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 01 sty 2016
Posty: 17
Lokalizacja: Łódź
Pomógł: 0

Wyświetlanie reaguje na zmianę częstotliwości (im wyższa tym szybciej wyświetla) na filmiku jest 16Mhz. F_CPU użyłem w akcie desperacji :D . Ja programuje w AS 6 nie ECLIPSE ;)

------------------------ [ Dodano po: 6 minutach ]

krish napisał(a):
Jeżeli chcesz mieć naprawdę szybką obsługę KS-a, znajdź/napisz jego obsługę za pomocą bufora w SRAM procesora. Zajmie to 1KB (128*64/8 ), w mniejszych projektach nie powinno przeszkadzać.



krish ja rozumiem że to nie jest najszybszy sposób na obsługę tego wyświetlacza ale nie rozumiem czemu ten sam kod wczoraj działał poprawnie a dzisiaj tak zamula :shock:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 19:53 
Offline
Użytkownik

Dołączył(a): 22 gru 2013
Posty: 296
Lokalizacja: Szczecin
Pomógł: 47

W Studio też ustawia się F_CPU w opcjach projektu- poszukaj w sieci.
ps.
Ty programujesz w "C", a Eclipse i AS to tylko tzw. IDE trochę "inteligentniejsze" edytory tekstu i "uruchamiacze" kompilacji i ew. programatorów.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 19:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 mar 2015
Posty: 202
Pomógł: 15

W akcie desperacji jak się wyraziłeś dałeś mu pałą w łeb by się zamulał tym 1MHz. Weź sobie na spokojnie posprawdzaj ustawienia zegara a jak już będziesz zdesperowany to daj mu kopa w żyć to wtedy pewnie przyspieszy ;)

Wysłane z mojego HTC One_M8 przy użyciu Tapatalka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 19:55 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 01 sty 2016
Posty: 17
Lokalizacja: Łódź
Pomógł: 0

Sprawdzałem wszystkie możliwe opcje zegara ;)

Dobra, powiedzcie mi bo ja już mam mętlik w głowie od tego wszystkiego.
Czy przy zegarze 16Mhz na pinie C0 powinienem mieć szpilki o częstotliwości ok. 16 Mhz ?
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  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 20:04 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

Masz jakieś warningi przy kompilacji?
Piszesz że reaguje na zmianę częstotliwości, zmieniasz kwarce czy tylko w ustawieniach procka?

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 20:10 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 01 sty 2016
Posty: 17
Lokalizacja: Łódź
Pomógł: 0

Od 1 do 8 Mhz na wewnętrznym oscylatorze a 16 podpinam kwarc.
Warning 2 inline function 'ks0108ReadData' declared but never defined [enabled by default]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 20:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 mar 2015
Posty: 202
Pomógł: 15

Tak powinieneś mieć 16MHz

Wysłane z mojego HTC One_M8 przy użyciu Tapatalka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 20:12 
Offline
Użytkownik

Dołączył(a): 22 gru 2013
Posty: 296
Lokalizacja: Szczecin
Pomógł: 47

Napisz najprostszy program przełączający jakimś pinem ( lub LED-em) za pomocą
funkcji _delay_ms(1000), oczywiście przy właściwych ustawieniach F_CPU (analiza wyników z kompilacji) , i sprawdź czy pin przełącza/mruga co sekundę- będziesz wtedy wiedział, że procesor (fusy) i kompilator są dobrze ustawione. Wtedy pozostanie analiza/zmiana programu obs ługi KS-a. Możliwe, choć mało prawdopodobne, że źle działa kwarc/oscylator i wzbudza się na innej częstotliwości. Kondensatory przy kwarcu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 20:21 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 01 sty 2016
Posty: 17
Lokalizacja: Łódź
Pomógł: 0

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

pin przełącza idealnie co sekundę, natomiast

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


daje mi szpilki 165.5kHz a powinno być 1MHz tak ? czy może się mylę ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 20:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 mar 2015
Posty: 202
Pomógł: 15

Kod2: powinno być ok 1 MHz

Wysłane z mojego HTC One_M8 przy użyciu Tapatalka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 20:47 
Offline
Użytkownik

Dołączył(a): 22 gru 2013
Posty: 296
Lokalizacja: Szczecin
Pomógł: 47

Zobacz w pliku *.lss lub *.lst w projekcie- jak to się skompilowało.
Składnia: [ Pobierz ] [ Ukryj ]
język asm
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Wychodzi chyba nawet więcej sbi/cbi/rjmp po 2 takty zagara

Czy Twoje przykłady były kompilowane w różnych projektach czy w jednym poprzez podmianę kodu? Czy włączona optymalizacja?

------------------------ [ Dodano po: 2 minutach ]

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 30 paź 2016, o 20:52 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 01 sty 2016
Posty: 17
Lokalizacja: Łódź
Pomógł: 0

Jeden projekt zmieniam kod i ewentualnie zegar. Optymalizacja Os



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 31 paź 2016, o 09:45 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 01 sty 2016
Posty: 17
Lokalizacja: Łódź
Pomógł: 0

Dziwi mnie dlaczego bez żadnych delay'ów jest tak mała częstotliwość. Czy może to być spowodowane ustawieniami kompilatora ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 3 lis 2016, o 23:51 
Offline
Nowy

Dołączył(a): 25 lip 2015
Posty: 7
Pomógł: 0

Problemem okazał się jeden Warning którego olałem na początku :D Jednak zastanawia mnie ta częstotliwość zmiany stanu pinu bez opóźnień. Czy mógłby mi ktoś z Was wytłumaczyć dla czego tak jest ? :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 4 lis 2016, o 00:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Ale jak?

Sorry ale twoje pytanie to już wyższa szkoła wróżenia nie ze szklanej kuli ale to jest jak wróżenie z piasku.

Wysłane z mojego LIVE przy użyciu Tapatalka

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 4 lis 2016, o 07:40 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

klimeq napisał(a):
Dziwi mnie dlaczego bez żadnych delay'ów jest tak mała częstotliwość.

Załóżmy, że masz ustawioną częstotliwość taktowania mikrokontrolera 1MHz.
Jak już wcześniej pokazał Tobie kolega krish jeden obieg pętli while, czyli jeden okres generowanego przebiegu, to 3 instrukcje asemblera, z których każda trwa 2 takty zegara, łącznie 6 taktów.
Jeżeli teraz podzielisz 1MHz przez 6, to jaką częstotliwość uzyskasz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 4 lis 2016, o 08:03 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2605
Pomógł: 129

Kup sobie Saleae na portalu aucyjnym (koszt poniżej 50zl). Przyda ci się do tego (sprawdzisz dokladnie czasy przełączania itd.) i do wielu innych rzeczy. Ew. możesz spróbować zmierzyć częstotliwość miernikiem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 4 lis 2016, o 09:57 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 01 sty 2016
Posty: 17
Lokalizacja: Łódź
Pomógł: 0

Ehh asembler... wstyd się przyznać ale to dla mnie czarna magia ;( chyba jednak trzeba będzie zaczerpnąć jakiejś lekcji chociaż podstaw. Czyli rozumiem ze te opóźnienia wynikają z poziomu programowania? Jak bym napisał taki sam program powiedzmy w bascomie to opóźnienia byłyby jeszcze większe?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: KS0108 [C]
PostNapisane: 4 lis 2016, o 10:22 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

Na temat Bascoma nie wypowiem się, bo go nie znam. Natomiast nawet pisząc w języku C, kod wynikowy w dużej mierze jest zależny od ustawionego poziomu optymalizacji (jak zresztą również wcześniej pokazał kolega krish).



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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