Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

uC/C/DS3231 - Nieudana próba dzielenia programu na moduły

Colloy 17 Lip 2015 23:34 675 6
  • #1 17 Lip 2015 23:34
    Colloy
    Poziom 4  

    Witam, jako ,że program nad którym pracuję zaczął się rozrastać toteż postanowiłem niektóre elementy kodu wyprowadzić do innego pliku i tak podczas tej próby napotkałem na błąd który nie do końca rozumiem i tu chciałbym was poprosić o pomoc w ustaleniu przyczyny owego błędu. Problemem jest pętla for w funkcji void readDS3231SN(Time *wsk).

    Kod: c
    Zaloguj się, aby zobaczyć kod


    A oto kody:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 6
  • #2 18 Lip 2015 01:21
    excray
    Poziom 39  

    Twój komunikat dokładnie pisze co mu się nie podoba i trudno mu nie przyznać racji. Wiesz co to jest wskaźnik? Skąd Ci przyszło do głowy żeby w taki sposób odwoływać się to tego wskaźnika?

    0
  • #3 18 Lip 2015 01:31
    Colloy
    Poziom 4  

    Kod pochodzi z jednego z poradników pana mirkka36 i do póki siedział w pliku głównym wszystko działało jak należy.

    0
  • Pomocny post
    #4 18 Lip 2015 01:37
    excray
    Poziom 39  

    Jak widzisz teraz nie działa. Tak się kończą takie karkołomne konstrukcje. Swoją drogą skoro jak sam przyznajesz kod jest kogoś innego i nawet nie wiesz jak działa to jakim prawem podpisałeś się w nagłówku jako autor? Spróbuj przerobić funkcję tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Pokaż jeszcze jak ją wywołujesz.

    1
  • #5 18 Lip 2015 01:53
    Colloy
    Poziom 4  

    Wywołuje ją w pętli głównej programu co 1 sekunde

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • Pomocny post
    #6 18 Lip 2015 02:00
    excray
    Poziom 39  

    Wywołaj ją tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    1
  • #7 18 Lip 2015 02:37
    Colloy
    Poziom 4  

    Chciałbym ci podziękować za pomoc i poświęcony czas udało mi się rozwiązać problem. Nie wiem jak to się stało ale podczas kopiowania(a może przypadkowe naciśnięcie któregoś z klawiszy spowodowało ,że kod który trafił do osobnego pliku został wybrakowany w pliku ds3231.h unia wygląda tak

    Kod: c
    Zaloguj się, aby zobaczyć kod
    a powinna wyglądać tak
    Kod: c
    Zaloguj się, aby zobaczyć kod
    po zmianie wszystko wróciło do normy. Jednak warto oderwać się na chwile od rozwiązywania problemu i po robić coś innego a rozwiązanie samo przyjdzie.

    0