Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ATmega32 - Gaszenie diody przyciskiem w C

22 Gru 2013 14:48 1383 12
  • #1 22 Gru 2013 14:48
    1651117
    Usunięty  
  • #2 22 Gru 2013 14:56
    tadzik85
    Poziom 38  

    Nawet kompilator zapewne pluje ci ostrzeżenie ze używasz przypisania w warunku.
    == powinno tam być zapewne.
    A pisanie do rejestru PIN cóz.......

    0
  • #3 22 Gru 2013 15:00
    1651117
    Usunięty  
  • #4 22 Gru 2013 15:32
    excray
    Poziom 38  

    Może na początek poczytaj jakąś książkę albo kurs o programowaniu. Bo w tym Twoim programie aż roi się od błędów. I to takich wynikających z braku podstawowych podstaw.

    0
  • #5 22 Gru 2013 15:38
    1651117
    Usunięty  
  • #6 22 Gru 2013 15:41
    excray
    Poziom 38  

    Harcownikov napisał:
    Drogi Panie. Sam wiesz najlepiej jak wyglądają początki, bo sam musiałeś jakąś zacząć.

    Gdybyś zaczął naukę jazdy samochodem od wsiadania do bagażnika to pomimo zrozumienia że jesteś początkujący bym Cię wyśmiał. Tak samo jest z Twoim kodem - wsiadasz do samochodu od bagażnika właśnie. Więc może jednak jeszcze nie czas odrywać się od książki i pisać własne programy. Zresztą na podstawie Twoich programów to odnoszę wrażenie że na razie przeczytałeś tylko tytuł.
    Harcownikov napisał:
    Nigdy się nie nauczę jeżeli będę napotykał na takich jak Ty.

    To przykre że sam nie umiesz się uczyć bez pomocy innych.

    0
  • Pomocny post
    #7 22 Gru 2013 16:21
    Marek_Skalski
    Poziom 33  

    @ Harcownikov:
    Jaką masz tę książkę? Dlaczego obrażasz innych, bardzo pomocnych Użytkowników?
    Z takim podejściem nie licz na pomoc kogokolwiek na tym Forum.
    Robisz błędy, jakich nie zrobi nikt, kto ma chociaż odrobinę pojęcia o programowaniu i przeczytał coś więcej niż spis treści.

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Co to jest?? Co chcesz osiągnąć stosując sumę logiczną z zerem?

    A co ma robić taka sekwencja:
    Kod: C
    Zaloguj się, aby zobaczyć kod

    Przełączasz stan zerowego bitu na porcie B z częstotliwością ok. 8x mniejszą niż zegar procesora i nie masz szans aby to zaobserwować. A do tego sprawdzasz w warunku czy do rejestru, z którego odczytuje się stan pinów można zapisać 0 (a można) w dodatku z przesunięciem bitowym w nawiasie, który jest idiotycznie umieszczony.
    Ośmieszasz się karykaturalnie.
    Zanim ponownie zaczniesz się popisywać swoją arogancją, to zalecam trochę pokory, lektury i zastanowienia nad swoim postępowaniem, ponieważ to nie pierwsze takie zdarzenie z Twoim udziałem.

    0
  • #8 22 Gru 2013 18:25
    dondu
    Moderator Mikrokontrolery Projektowanie

    @Harcownikov
    Źle zrozumiałeś przesłanie kol. excray z pierwszego jego postu. On wskazał Ci tylko Twój ogólny problem i nie miał zamiaru Ciebie w żaden sposób źle traktować. Zobacz na procent jego ilości POMÓGŁ, a zauważysz, że jest bardzo pomocnym użytkownikiem forum :)


    Wrzuć sobie do CManiaka: http://mikrokontrolery.blogspot.com/p/cmaniak-kompilator-jezyka-c-online.html
    ten kod:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    i poćwicz by zrozumieć co robisz źle.
    Pomoże Ci w tym ten artykuł: http://mikrokontrolery.blogspot.com/2011/04/problemy-c-ustawianie-i-zerowanie-bitow.html
    oraz kurs C: http://mikrokontrolery.blogspot.com/2011/02/kurs-jezyka-c-spis-tresci.html

    0
  • #9 22 Gru 2013 19:29
    1651117
    Usunięty  
  • #11 22 Gru 2013 19:35
    Marek_Skalski
    Poziom 33  

    To teraz do pełni szczęścia brakuje delay'a, którego znajdziesz w wielu programach :]
    A tak poważnie, to musisz eliminować drgania styków trochę inną metodą: Informacje
    A tutaj jest praktyczna i bardzo sprytnie zrobiona aplikacja BlueDraco: Link
    Nie zrażaj się tym, że to dla ARMa. Użyj T0 z preskalerem w trybie CTC i przerwaniem od porównania.
    W ten sposób nauczysz się duuużo więcej i tego, co ma przyszłość.

    I używaj symulatora do eliminacji drobnych błędów, jak ten powyżej zauważony przez piotrva.

    0
  • Pomocny post
    #12 22 Gru 2013 20:40
    dondu
    Moderator Mikrokontrolery Projektowanie

    Poświęciłem czas dla Ciebie:
    - podałem Ci linki, gdzie jest opisany między innymi Twój problem,
    - napisałem przykład dla ATmega8,
    - wskazałem, gdzie go skompilować (CManiak)
    a Ty nadal nie wyciągasz żadnych wniosków:

    Harcownikov napisał:
    Zebrałem w kupę wszystko co mi podaliście dondu i Marku. Kod jest teraz taki:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Czego od nas oczekujesz? Gotowca?

    Nie potrafisz operować na bitach.
    Poćwicz w CManiaku - masz tam gotowe przykłady w każdej części kursu.

    EDIT:
    I odpal symulator jak radzi Marek - szybko wyłapiesz własne błędy.

    0
  • #13 25 Gru 2013 11:23
    1651117
    Usunięty  
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo