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



Teraz jest 29 mar 2024, o 07:54


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 29 mar 2020, o 12:31 
Offline
Użytkownik

Dołączył(a): 27 gru 2016
Posty: 28
Pomógł: 0

Czemu jak wywołam funkcje w taki sposób
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


to na oled pokazuje jakiś krzak, a jak zrobię tak

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

to wszystko działa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2020, o 14:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2015
Posty: 183
Pomógł: 10

Wykorzystać debbuger w IDE. Być może oczekuje innego typu argument funkcji. Coś w rodzaju stałej jak const char* lub constexpr char*.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2020, o 14:19 
Offline
Użytkownik

Dołączył(a): 17 mar 2020
Posty: 70
Pomógł: 5

Debuger na tym forum oznacza diodę, a "constexpr" to się chyba pierwszy raz tu pojawia :P

ale przypadek ciekawy - @BARVX jak znajdziesz rozwiązanie to się pochwal



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2020, o 14:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 mar 2015
Posty: 313
Lokalizacja: Czerwionka-Leszczyny
Pomógł: 22

To chyba dlatego, że w pierwszym przypadku najpierw próbujesz w funkcji
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
wysłać znak
a dopiero później w funkcji main ustawiasz
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Żeby wysłać znak musisz przecież najpierw oprócz inicjalizacji I2C ustawić szybkość transmisji a potem dopiero możesz wysłać cokolwiek.

_________________
http://www.avrboss.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2020, o 16:22 
Offline
Użytkownik

Dołączył(a): 17 mar 2020
Posty: 70
Pomógł: 5

mario2015 napisał(a):
To chyba dlatego, że w pierwszym przypadku najpierw próbujesz w funkcji
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
wysłać znak
a dopiero później w funkcji main ustawiasz
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Żeby wysłać znak musisz przecież najpierw oprócz inicjalizacji I2C ustawić szybkość transmisji a potem dopiero możesz wysłać cokolwiek.


przecież wywołanie funkcji "OLED_znak()" jest po inicjalizacji i2c - czyli ok. A sama definicja funkcji się nie wykona sama z siebie przed mainem



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2020, o 17:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 mar 2015
Posty: 313
Lokalizacja: Czerwionka-Leszczyny
Pomógł: 22

Zgadza się, moje niedopatrzenie. Sory.

_________________
http://www.avrboss.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2020, o 17:32 
Offline
Użytkownik

Dołączył(a): 27 gru 2016
Posty: 28
Pomógł: 0

Funkcja zaczęła działać jak tablica font zapisana jest w pamięci RAM, a jak zapiszę do pamięci flash to nadal nie działa mimo dodania pgm_read_byte()
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


------------------------ [ Dodano po: 39 minutach ]

BARVX napisał(a):
Funkcja zaczęła działać jak tablica font zapisana jest w pamięci RAM, a jak zapiszę do pamięci flash to nadal nie działa mimo dodania pgm_read_byte()
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Dobra już wszystko działa trzeba by zrobić tak
TWI_write( pgm_read_word(&font[i]) );



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2020, o 19:48 
Offline
Użytkownik

Dołączył(a): 17 mar 2020
Posty: 70
Pomógł: 5

ok - czyli fragment, którego nam nie pokazałeś był problemem



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2020, o 20:14 
Offline
Moderator
Avatar użytkownika

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

landrynek napisał(a):
ok - czyli fragment, którego nam nie pokazałeś był problemem

I pomyśl sobie teraz - po co do takich błahych problemów ;) zaraz jakiś mega debuger ;)

_________________
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: 29 mar 2020, o 20:44 
Offline
Użytkownik

Dołączył(a): 17 mar 2020
Posty: 70
Pomógł: 5

akurat tutaj jest przykład, że byłby przydatny -> pokazałby skąd jest czytana wartość i dlaczego nie taka jak się oczekiwało. Tu by dioda nie dała rady.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2020, o 21:03 
Offline
Moderator
Avatar użytkownika

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

landrynek napisał(a):
Tu by dioda nie dała rady.

Jak najbardziej by dała - tak samo uart ... tylko widzisz - najpierw trzeba troszkę nauczyć się myśleć - TYLKO MNIE ŹLE nie zrozum to ŻADEN przytyk do ciebie, tylko pokazuję, że fakt że ty nie masz pomysłu jak użyć takich prostych metod jak dioda czy własne debugowanie za pomocą uart - to nie oznacza, że nie da się czegoś zrobić. Pomyśl sobie jak to było z programowaniem procków jak jeszcze rozbudowanych debugerów nie było ;) Toż idąc twoim śladem, że do tak prostych rzeczy potrzebne są debugery - to w zasadzie programowanie już wiele lat temu utknęłoby w miejscu ;)

Poza tym - już tak nawiasem mówiąc - warto się uczyć programować - szczególnie jak chodzi o początki bez debugera - bo to rozwija i uczy myślenia strukturalnego. Można się nauczyć np tego jak wyizolować problem - w ogóle wielu rzeczy. Debugery to warto sobie zostawić już na 32-bitowce i b.rozbudowane programy a szczególnie z użyciem RTOS'ów itp

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 

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