ATNEL tech-forum
https://forum.atnel.pl/

Prośba jak wyświetlić zawartość struktury na LCD
https://forum.atnel.pl/topic22605.html
Strona 1 z 1

Autor:  miki53 [ 10 paź 2019, o 18:11 ]
Tytuł:  Prośba jak wyświetlić zawartość struktury na LCD

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.

Autor:  mirekk36 [ 10 paź 2019, o 19:17 ]
Tytuł:  Re: Prośba jak wyświetlić zawartość struktury na LCD

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ć ?

Autor:  JarekB [ 11 paź 2019, o 07:05 ]
Tytuł:  Re: Prośba jak wyświetlić zawartość struktury na LCD

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.

Autor:  miki53 [ 11 paź 2019, o 11:58 ]
Tytuł:  Re: Prośba jak wyświetlić zawartość struktury na LCD

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ć

Autor:  miki53 [ 11 paź 2019, o 17:21 ]
Tytuł:  Re: Prośba jak wyświetlić zawartość struktury na LCD

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;

Autor:  JarekB [ 11 paź 2019, o 18:48 ]
Tytuł:  Re: Prośba jak wyświetlić zawartość struktury na LCD

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:  miki53 [ 11 paź 2019, o 19:23 ]
Tytuł:  Re: Prośba jak wyświetlić zawartość struktury na LCD

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 :)

Autor:  JarekB [ 11 paź 2019, o 19:55 ]
Tytuł:  Re: Prośba jak wyświetlić zawartość struktury na LCD

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

Autor:  miki53 [ 17 paź 2019, o 14:34 ]
Tytuł:  Re: Prośba jak wyświetlić zawartość struktury na LCD

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

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/