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

Język C AVR - Nadajnik podczerwieni na pinie OC0 nie działa - co poprawić?

squelch 11 Kwi 2015 12:22 846 10
  • #2 14608256
    BlueDraco
    Specjalista - Mikrokontrolery
    1. Nie podałeś typu mikrokontrolera.
    2. Pierwszy problem leży w błędnym ustawianiu wartości TCCR0 trzema instrukcjami zamiast jedną. Ostatnia instrukcja kasuje to, co wpisały dwie pierwsze.
    3. Drugi problem polega na tym, że po zainicjowaniu timera program idzie w maliny, co może spowodować np. reset procesora albo powtórne wykonanie programu po zawinięciu dokoła pamięci.
  • #4 14608868
    Piotr Piechota
    Poziom 22  
    squelch napisał:
    (...)
    Nie rozumiem twojego punktu że procesor się zresetuje


    Nie jest dobrym zwyczajem opuszczać funkcję main() a tak zrobiłeś.
  • #6 14608959
    Piotr Piechota
    Poziom 22  
    squelch napisał:
    Jak to program się wykona i przejdzie w stan bezczynności


    Nie jestem pewien czy jest to standaryzowane. Być może w kompilatorze, którego używasz tak jest.

    Pozdrawiam
  • #7 14609070
    BlueDraco
    Specjalista - Mikrokontrolery
    Co to znaczy "nie działa" i po czym to poznajesz?

    Dlaczego nie napiszesz po prostu:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #9 14609258
    gaskoin
    Poziom 38  
    Piotr Piechota napisał:
    Nie jestem pewien czy jest to standaryzowane. Być może w kompilatorze, którego używasz tak jest.


    Nie jest, zależy to od tego, jak napisany jest startup procesora. Czasami będzie to nieskończona pętla, czasami reset, czasem nie wiadomo co.

    squelch napisał:
    Poznaje to po telefonie komórkowym.


    Telefon pewnie nadaje i odbiera zgodnie z jakimiś protokołem, a Ty włączyłeś sobie timer w trybie PWM i hulaj dusza. Równie dobrze możesz poświecić w niego oczami. Napisz jakiej używasz Atmegi, co to za telefon, schemat itd. Bez tego nikt Ci nie pomoże bo nie będzie się nikomu chciało zastanawiać co chcesz zrobić i na czym.
  • #10 14609267
    BlueDraco
    Specjalista - Mikrokontrolery
    To zacznij od poprawnego podłączenia diody i sprawdź, czy świeci światłem ciągłym, a potem bierz się za modulację. Na wszelki wypadek nie pokazałeś schematu, więc nie wiadomo, co narozrabiałeś.
REKLAMA