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



Teraz jest 18 paź 2019, o 07:13


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 10 paź 2019, o 18:11 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 186
Lokalizacja: Puck
Pomógł: 5

Wybaczcie że męczę temat struktur ale kiedy wydaje mi się że już coś łapię
to znowu coś idzie nie tak
Podaję kod z poradnika pt.Gra snejk
Mirek będzie na mnie krzyczał że taki długi kod ;) ale jest to na temat
i krótsza wersja nie miała by sensu ( tak myślę )

pytanie JAK WYŚWIETLIĆ NA LCD WARTOŚCI WPISANE DO STRUKTURY Z FUNKCJI
void pokaz_alarm( TALARM * wsk ) ORAZ void pokaz_alarm1( TALARM * wsk )



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 paź 2019, o 19:17 
Offline
Moderator
Avatar użytkownika

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

Nie będzie mirek krzyczał ;) ale może ktoś coś podpowie ? ;) ... o ile jest sens w ogóle w ten sposób to wyświetlać ?

_________________
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: 11 paź 2019, o 07:05 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 157
Pomógł: 17

Napisałem Ci kawałek kodu jak można wypełnić czasówki. Analogicznie możesz wyświetlić zawartość struktury.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Nie wywoływałbym funkcji ze struktury do wyświetlenia czasów. Tak jak napełnianie jej pól, tak i wyświetlanie można zrealizować jedną funkcją poza strukturą. Tak sobie myślę (ale to moje przemyślenia) że funkcja w strukturze ma sens wtedy gdy jest specyficzna dla każdej struktury struktury.

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2019, o 11:58 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 186
Lokalizacja: Puck
Pomógł: 5

Panie Mirku

mirekk36 napisał(a):
... o ile jest sens w ogóle w ten sposób to wyświetlać ?


Moje przemyślenia są następujące
Jak będę mógł wyświetlić to co wpisuję w funkcjach void pokaz_alarm(TALARM * wsk ) oraz void pokaz_alarm1 (TALARM * wsk )
a odczyt będzie z
typedef struct {
uint8_t godz;
uint8_t min;
uint8_t sek;
void (* pokaz_alarm_ptr)(void * wsk); // Z TEGO MIEJSCA
}TALARM;
to będę wiedział że wpisywane wartości są odczytywane z struktury a nie z samej funkcji
jeśli są z samej funkcji to wcale nie jest powiedziane że struktura działa

Poza tym jeśli będę mógł je wyświetlić na LCD to i te wartości mogę przerabiać do innych
celów nie tylko do wyświetlania ale i sterowania wyjściami itp.
Ale najpierw muszę się dowiedzieć jak je z tam tond wydostać



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2019, o 17:21 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 186
Lokalizacja: Puck
Pomógł: 5

Koledzy możecie mi wytłumaczyć co od czego jest zależne
w moim przykładzie struktury

czy zmienne strukturalne są napełniane wartościami z ustawień w funkcji

void pokaz_alarm( TALARM * wsk )
w której wpisuję do zmiennych wsk -> godz = 22;

kiedy w pętli while wywołuję funkcję init_alarm ( );
to wyświetlają mi się same zera tak jakby zmienne strukturalne były puste czyli same zera
tak jakby nic do niej nie było wpisane
mimo że do nich wpisuję wartości przez wsk -> godz = 22;



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2019, o 18:48 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 157
Pomógł: 17

A gdzie wywołujesz funkcje ? :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Nie widzę tego w kodzie.
Poczyściłem z ciekawości z komentarzy Twój kod skompilowałem
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


No i popatrzyłem w plik .lss (nie mam podpiętego wyświetlacza) no ale widać że coś się dzieje :)
Żyć nie umierać
Wskaźniki się wskaźnikują zmienne przypisują
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2019, o 19:23 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 186
Lokalizacja: Puck
Pomógł: 5

Wywołuje ją w pętli głównej programu while (1){
i za komentowane if ( alarm [0] . pokaz_alarm_ptr ) alarm[0]
oraz if ( alarm [1] . pokaz_alarm_ptr ) alarm[1]

Ale nie mogą zrobić poprawki w kodzie w pierwszym poście
bo czas miną na edycję
a nie chcę mnożyć listingów

możesz mi powiedzieć czy wartości które są wpisywane do struktury
są w zmiennych strukturalnych zapisywane ?
np. w strukturze zmienna o nazwie ( godz )
będzie pamiętała ustawienie wartości
dla np. zegar 1 ustaw godz = 22
a dla zegar 2 ustaw godz = 13

------------------------ [ Dodano po: 4 minutach ]

Ale żeś sypnął asemblerem :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2019, o 19:55 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 157
Pomógł: 17

Z tym asemblerem to po prostu skopiowałem to co zrobił kompilator :)
Czasem gdy chcę coś sprawdzić to tam zaglądam.
Widać że wartości są przepisywane do rejestrów.
Nie znam assemblera ale pewne rzeczy można z tego pliku wywnioskować nawet nie znając go
Skompiluj program i zajrzyj do niego

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 paź 2019, o 12:21 
Offline
Nowy

Dołączył(a): 29 wrz 2019
Posty: 12
Pomógł: 0

JarekB napisał(a):
Nie znam assemblera ale pewne rzeczy można z tego pliku wywnioskować nawet nie znając go

Assembler AVR jest bardzo prosty i dobrze opisany.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: wczoraj, o 14:34 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 186
Lokalizacja: Puck
Pomógł: 5

Kolego JarekB
Ta struktura działa dzięki za pomoc :D



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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