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



Teraz jest 30 mar 2026, o 22:38


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 31 lip 2013, o 15:11 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 224
Lokalizacja: Opole
Pomógł: 24

Witam

Mam pytanie dlaczego zmienna która inkrementuje się tutaj:

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


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


ale jak próbuję ją odczytać poza tym if`em to dostaję 0 (jak dokonuję odczytu po zapisie w instr.warunkowej to jest taka jak powinna być)

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: 31 lip 2013, o 16:10 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8631
Pomógł: 338

wygląda na to że tej samej zmiennej używasz dla obu zawodników i pewnie tu pies pogrzebany

możliwe że volatile pomoże jak sugeruje Gwyn ... ale , może zrób osobne zmienne dla zawodników



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 lip 2013, o 16:22 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8631
Pomógł: 338

możliwe ... niemniej pozostaje tylko zgadywać prawda ??
bo za wiele nie wiadomo poza tym że są 2 zawodnicy i w dwóch funkcjach ta sama zmienna



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 lip 2013, o 16:33 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 224
Lokalizacja: Opole
Pomógł: 24

Nie mam ustalonej liczby zawodników, jest to tylko "przyporządkowanie" każdemu okrążeniu nr zawodnika - zmieniając numer mam ilość okrążeń danego zaw. kombinowałem na różne sposoby z volatile i static ale nic nie dało.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 lip 2013, o 19:40 
Offline
Moderator
Avatar użytkownika

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

ps19 napisał(a):
kombinowałem na różne sposoby z volatile i static ale nic nie dało.


Ja bym powiedział tak - można jeszcze sobie kombinować dalej dodając wszystkie możliwe inne specyfikatory (np const, inline) albo ich kombincje i też to nic nie da :( Bo poprawnie działanie programu zależy od programisty a nie od tego czy trafi szczęśliwie w jakiś specyfikator jak w lotto :(

Przede wszystkim - jeśli tej twojej spornej zmiennej nie używasz poza funkcjami w przerwaniach to volatile jest niepotrzebne bo po co ?

Zamiast tego analizuj program i funkcje bo tam masz psa pogrzebanego ... bo jak powiedział Sun można tylko zgadywać. Trzeba byłoby zobaczyć te funkcje którymi "macasz" te struktury i te zmienne żeby coś konkretnego podpowiedzieć.

_________________
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: 31 lip 2013, o 19:57 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 224
Lokalizacja: Opole
Pomógł: 24

Programik - wrzucam cały bo siedzę nad tym cudem od 2 dni bezskutecznie:



Ostatnio edytowano 1 sie 2013, o 10:36 przez ps19, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 lip 2013, o 21:04 
Offline
Moderator
Avatar użytkownika

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

Przy takiej obsłudze EEPROM'a to po pierwsze zarżniesz go jak gęś w TRY-MIGA :(

Tak jak masz poradę wyżej - normalnie w trakcie działania programu działaj na takiej strukturze ale w RAM - po co ci EEPROM - masakra :( EEPROM'a używasz TYLKO wtedy gdy zachodzi konieczność wyraźna a tu jak można zobaczyć z tego kodu rzeczywiście totalnie na łapu-capu tniesz po eepromie na oślep prawie :(

Widziałeś ten poradnik?

http://mirekk36.blogspot.com/2012/11/av ... iazek.html

jak nie to obejrzyj go KONIECZNIE zanim zaczniesz cokolwiek dalej robić.

Ale tak samo zajrzyj do niebieskiej książki do porządnej obsługi klawiszy jak w przykładzie z SuperDebounce:

http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

A jeśli to na początek może być za trudne do wdrożenia tak od razu to przynajmniej poczytaj to:

http://mirekk36.blogspot.com/2012/10/ob ... w-cd2.html

i zastosuj chociaż taką obsługę klawiszy bo to co wyrabiasz w pętli głównej programu - co chwile kolejne pętle i pętle i pętle i pętle - to jest niestety totalnie nieporozumienie i nie dziwię się że program się gubi ale ty także :(


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  
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 3 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO