logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

atmega32 - Dioda nie świeci, problem z kodem SPI i konfiguracją portów

damian4565 17 Cze 2014 17:02 1098 5
REKLAMA
  • #1 13716210
    damian4565
    Poziom 10  
    Posty: 60
    Pomógł: 1
    Ocena: 17
    witam
    mam problem z programem otóż nawet programie dioda nie che zaświecić
    Oto kod:


    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Moderowany przez dondu:

    Poprawiłem SYNTAX zobacz jak jest poprawnie.

  • REKLAMA
  • #2 13716221
    mi14chal
    Poziom 28  
    Posty: 1021
    Pomógł: 112
    Ocena: 23
    Co ta instrukcja: PORTD&=(1<<3); robi według ciebie?
  • REKLAMA
  • #3 13716229
    damian4565
    Poziom 10  
    Posty: 60
    Pomógł: 1
    Ocena: 17
    Ma gasić diodę na porcie PD3. Chciałem się spytać czy funkcja Sonar_pobierz_pomiar w funkcji głównej ma prawidłowe zmienne?
  • REKLAMA
  • Pomocny post
    #4 13716255
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    damian4565 napisał:
    Ma gasić diodę na porcie PD3.

    Skompiluj poniższy program w CManiaku: http://mikrokontrolery.blogspot.com/p/cmaniak-kompilator-jezyka-c-online.html
    i zastanów się dlaczego działa inaczej niż oczekujesz.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Podpowiedź: brak negacji bitów.


    damian4565 napisał:
    Chciałem się spytać czy funkcja Sonar_pobierz_pomiar w funkcji głównej ma prawidłowe zmienne?

    Otrzymujesz przecież ostrzeżenie:

    Cytat:
    ../Proba_10.c:50: warning: passing argument 2 of 'Sonar_pobierz_pomiar' makes pointer from integer without a cast

    Zdefiniuj obie zmienne jako globalne.
  • REKLAMA
  • #5 13716326
    damian4565
    Poziom 10  
    Posty: 60
    Pomógł: 1
    Ocena: 17
    Czyli PORTD &=!(1<<3); aby dioda gasła.
    Jak powinna wyglądać deklaracja tych zmiennych jako globalne?
  • #6 13716443
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    damian4565 napisał:
    Czyli PORTD &=!(1<<3); aby dioda gasła.

    To negacja (operator) do warunków, a Ty potrzebujesz negację (operator) bitową: http://mikrokontrolery.blogspot.com/2011/02/kurs-jezyka-c-spis-tresci.html

    damian4565 napisał:
    Jak powinna wyglądać deklaracja tych zmiennych jako globalne?


    Na przykład tak (bez wskaźników);

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Build succeeded with 0 Warnings...
REKLAMA