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



Teraz jest 2 wrz 2025, o 17:18


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 24 kwi 2014, o 14:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Pierwsze co mi się rzuciło w oczy to ta linia w pliku .h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

W plikach .h nie umieszcza się definicji zmiennych. Poza tym ta zmienna chyba powinna być volatile.

Wg mnie to poprawnie powinno być tak
plik .h deklaracja zmiennej
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Extern bo zmienna używana jest na "zewnątrz".

plik .c definicja zmiennej
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 sprawdzanie flag. Nie sprawdzałem jak to będzie działać
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
ale ja bym to zapisał tak
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: 24 kwi 2014, o 16:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

DuMAM napisał(a):
Sprawdzanie flag jest jak najbardziej poprawne (nawet w książce tak było robione)

A w którym miejscu książki jest tak robione? Bo szukam i nie mogę znaleźć.

Jak na moje to masz błędne sprawdzanie flag. Jeśli będziesz miał ustawioną flagę minut, godzin i dni czyli clock_flag będzie miała wartość 0b00000111. I teraz w pierwszym warunku if robisz coś takiego
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
czyli
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

clock_flag - 0b00000111
(DT_MIN | DT_HOUR) - 0b00000011

Sprawdź co będziesz miał w zmiennej clock_flag po takiej operacji 0b00000111 & 0b00000011

Flaga dni niechcący zostanie wyzerowana

Aby to potwierdzić napisałem króciutki programik, który na lcd wyświetla sekundy, minuty, godziny i dni. Jeśli sprawdzałem flagi ifami w zaremowanych liniach to wyświetlało mi tylko sekundy, minuty i godziny. Po zmianie warunków sprawdzania flag zaczęło wyświetlać mi wszystkie zmienne.
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łę


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

Strefa czasowa: UTC + 1


Kto przegląda forum

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