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



Teraz jest 19 mar 2026, o 02:05


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 10 wrz 2015, o 13:25 
Offline
Użytkownik

Dołączył(a): 19 lut 2015
Posty: 29
Pomógł: 0

Witam,
Mam pewien problem z ładowaniem bitmapy na wyświetlacz. Otóż jeśli mam program obsługujący jedynie wyświetlacz, w którym dane są podane przeze mnie w kodzie programu, wyświetlacz ładnie pokazuje obrazek i przetwarza dane - obraca wskazówką na obrazku. Korzystam z biblioteki SunRivera.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Natomiast jeśli obsługa wyświetlacza jest jedynie częścią większego programu, a dane są dynamicznie wyliczane to bitmapa wcale się nie ładuje, a wskazówka na bitmapie się nie obraca - wcale jej nie ma.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Main wycięty z całości programu, biblioteki wszystkie załączone dokładnie tak samo jak w pierwszym programie.
Nie bardzo rozumiem czemu nie ładuje się nawet ta nieruchoma bitmapa"kompas". Czy mógłby mi ktoś wytłumaczyć czemu w pierwszym przypadku wszystko działa a w drugim już nie?
Z góry dziękuję za pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 wrz 2015, o 13:38 
Offline
Użytkownik

Dołączył(a): 04 cze 2013
Posty: 517
Pomógł: 26

Kolego a próbowałeś odpalić pierwszy przykład w drugim przykładzie bez tych wyliczeń kąta, terminala itp. Mając tylko pętlę while

_________________
Przewodnik|Sterownik akwariowy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 wrz 2015, o 13:46 
Offline
Użytkownik

Dołączył(a): 19 lut 2015
Posty: 29
Pomógł: 0

Właśnie spróbowałem. Nadal bez efektu. Nic nie ładuje.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 wrz 2015, o 14:02 
Offline
Użytkownik

Dołączył(a): 04 cze 2013
Posty: 517
Pomógł: 26

A dałeś delay w głównej pętli ?

_________________
Przewodnik|Sterownik akwariowy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 wrz 2015, o 15:07 
Offline
Użytkownik

Dołączył(a): 19 lut 2015
Posty: 29
Pomógł: 0

Nie dałem. Nie mam możliwości sprawdzić czy to coś pomoże ale wydaje mi się, że to nie o to chodzi. Ponieważ jeszcze przed pętlą while próbuję załadować nieruchomą bitmapę i nawet ona się nie ładuje, a tam jest delay. Czy to opóźnienie w while jest niezbędne? bo trochę mi nie pasuje do całości kodu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 wrz 2015, o 18:52 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8631
Pomógł: 338

może masz po prostu wadliwą bitmapę ??
niema kłopotu z ładowaniem się bitmap



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 wrz 2015, o 12:49 
Offline
Użytkownik

Dołączył(a): 19 lut 2015
Posty: 29
Pomógł: 0

To jest dokładnie ta sama bitmapa w obu programach. W jednym, który obsługuje tylko wyświetlacz działa ona bez zarzutu. W programie, w którym oprócz wyświetlacza używane są przerwania zewnętrzne, ICP, UART ta sama bitmapa już się nie chce załadować. Jedyna różnica to ta, że w tym bardziej rozbudowanym programie obracająca się wskazówka na wyświetlaczu wpisana jest w pętli while w mainie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 wrz 2015, o 14:25 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8631
Pomógł: 338

PJasinski91 napisał(a):
Jedyna różnica to ta, że w tym bardziej rozbudowanym programie obracająca się wskazówka na wyświetlaczu wpisana jest w pętli while w mainie.


i to wiele wyjaśnia , bitmapa ci się ładuje , ale wskazówka ja wygasza i dlatego jej nie widzisz
spowodowane jest to zapewne tym że odświeżasz ekran przy zmianie pozycji wskazówki wiec nie rysujesz na bitmapie
a na czystym ekranie ....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 wrz 2015, o 16:48 
Offline
Użytkownik

Dołączył(a): 19 lut 2015
Posty: 29
Pomógł: 0

Czyli powinienem wgrywać bitmapę za każdym razem też w pętli while?
W poniedziałek to sprawdzę i będę walczył dalej z tym problemem ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 wrz 2015, o 17:09 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8631
Pomógł: 338

Ja bym na twoim miejscu ...

- wyświetlił bitmapę i narysował na określonej pozycji linię (wskazówkę bez odświeżania ekranu)
- wyswietlił (białą) linię na tej wcześniejszej i narysował nową na nowej pozycji :)

to powinno rozwiązać twój problem



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 wrz 2015, o 20:50 
Offline
Użytkownik

Dołączył(a): 19 lut 2015
Posty: 29
Pomógł: 0

SunRiver napisał(a):
Ja bym na twoim miejscu ...

- wyświetlił bitmapę i narysował na określonej pozycji linię (wskazówkę bez odświeżania ekranu)
- wyswietlił (białą) linię na tej wcześniejszej i narysował nową na nowej pozycji :)

to powinno rozwiązać twój problem


Działa doskonale ;)
Dziękuję bardzo za pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 wrz 2015, o 20:56 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8631
Pomógł: 338

PJasinski91 napisał(a):
Działa doskonale
Dziękuję bardzo za pomoc.


zatem czekamy na opis w DIY :)
albo pokaz :)



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

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