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



Teraz jest 27 mar 2026, o 12:15


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 9 lut 2014, o 19:55 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

Witam :)

Mam pytanie odnośnie wskaźników. Mam pętle for w której instrumentuje zmienną Count, i teraz w zależności od tego jaka jest ta zmienna, to na to miejsce chce przypisać wskaźnik (do strukturki pbuf) do tablicy wskaźników wskTab.

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


I teraz tak, gdy ciało instrukcji for wygląda tak (tutaj warto zaznaczyc że wskaźnik p zmienia się w przerwaniu, więc zmienia się on cały czas):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
To gdy zmienna Count wynosi 0 to przypisuje do zerowego elementu, gdy 1 to do 0 i 1 elementu, gdy 2 to do 0, 1 i 2 elementu. Jakby mi nadpisuje tamte dane. Co jest nie tak?

Warte uwagi jest to, że gdy na sztywno ustawię np.:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

To przypisuje mi tylko do 0, 10 i 15 elementu, czyli tak jak powinno być.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2014, o 20:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

a czy po zwiększeniu Count o jeden zmieniasz zawartość
bufor *p czy pozostaje ona taka sama ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2014, o 20:42 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

Zmieniam. Praktycznie zawsze ten bufor *p się zmienia, i nigdy nie jest taki sam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2014, o 20:52 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Skoro zmienna p jest zmieniana przez procedurę ISR to wypadało by ją zdefiniować jako volatile.

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2014, o 20:54 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

Przepraszam, oczywiście że jest to zmienna volatile, niedopisałem w deklaracjach tego (w zasadzie to było moje pierwsze podejrzenie że tego brak).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2014, o 20:58 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Bez ujawnienia większego kawałka kodu będzie to dalej zgadywanka.

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2014, o 21:04 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

W zasadzie to nie ma sensu ujawniać więcej kodu, ponieważ tylko w tym co pokazałem coś się dzieje :) Jest sobie for który ma przypisywać wskaźniki do tablicy (co jakiś czas), a w tle p sie zmienia.



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

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