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



Teraz jest 29 mar 2024, o 06:29


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 18 gru 2019, o 19:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1960
Lokalizacja: Lipsko
Pomógł: 125

Nie mam już siły kombinować...
Nigdy wcześniej nie było mi to (aż do teraz) potrzebne i mimo, że mógłbym sprawę po prostu olać i zrobić to innym sposobem to jednak zawziąłem się aby podrążyć temat na przyszłość - może się jeszcze przyda :)
Mam strukturę i zdefiniowane 3 bufory

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


Jak mogę najprościej zrobić w tym przypadku operacje na buforach w stylu normalnych działań na tablicach jak, np.

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


powyżej?

Działania typu:

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


od razu wywalają błąd.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 gru 2019, o 20:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2017
Posty: 369
Lokalizacja: Gliwice
Pomógł: 34

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

Przecież operator & służy do operowania na bitach nie można robić "iloczynu" na samych strukturach. Struktura to owszem miejsce w pamięci, ale to typ złożony, a nie prosty.
Do pól struktur odnosisz się poprzez . lub -> zatem, można również "przepisywać" dane ze struktury do struktury.

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: 18 gru 2019, o 21:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1960
Lokalizacja: Lipsko
Pomógł: 125

Dzięki za zainteresowanie.
No jest miszmasz, bo właśnie taką operację bitową chciałem przeprowadzić i łudziłem się, że kompilator sobie z tym poradzi tak jak z danymi w zwykłych tablicach :) Myślałem też o jakimś przepisaniu struktury do zmiennej uint16_t (na których już bez problemu operacje bitowe można przeprowadzić), bo w sumie mam tam dwa bajty, ale też coś zgrzytało.
To nie jest tak, że w ogóle nie mam pojęcia o strukturach, coś tam wiem i próbowałem również tego sposobu:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

tylko brakuje mi tu drobnego szczegółu - indeksowania. Cokolwiek próbowałem robić typu buf1[x] albo buf1+x, w najróżniejszych konfiguracjach z gwiazdkami jak i bez gwiazdek to kompilator wrzeszczał, że źle.
Jak ustawić wskaźnik (indeks wg x) na kolejne dwa (w tym przypadku) elementy struktury?

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 gru 2019, o 22:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2017
Posty: 369
Lokalizacja: Gliwice
Pomógł: 34

SylwekK napisał(a):
Jak ustawić wskaźnik (indeks wg x) na kolejne dwa (w tym przypadku) elementy struktury?

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


Może o to Ci chodzi? :)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 gru 2019, o 23:03 
Offline
Moderator
Avatar użytkownika

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

zamiast

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



może jednak tak?

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


;)

Przecież teraz twoje tablice zawierają elementy typu strukturalnego a nie pojedyncze elementy typu uint8_t


Autor postu otrzymał pochwałę

_________________
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: 19 gru 2019, o 00:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1960
Lokalizacja: Lipsko
Pomógł: 125

Kurcze, jednak jak się dłużej nie korzysta ze struktur i wskaźników to się mózg wysusza :) Pociągnąłem problem najprostszym sposobem przez wskazanie pola struktury i wszystko idealnie działa tak jak oczekiwałem. A przecież już kiedyś korzystałem z tych mechanizmów, ale nie przyszło mi to dziś do głowy, żeby to z indexem połączyć i sprawdzić :D
@Zealota, fajnie, że zebrałeś te wszystkie sposoby w jednym miejscu, dzięki. Dla mnie to solidna dawka wiedzy do przypomnienia i przetrawienia, a tobie Mirek dziękuje za praktycznie gotowe rozwiązanie :)

_________________
http://www.sylwekkuna.com



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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