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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 10 lip 2025, o 20:05


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 34 ]  Przejdź na stronę 1, 2  Następna strona
    Autor Wiadomość
    PostNapisane: 1 kwi 2020, o 09:30 
    Offline
    Użytkownik

    Dołączył(a): 31 lip 2016
    Posty: 154
    Pomógł: 4

    Napisałem taki prosty programik, niestety nie działa jak należy tzn.nie wchodzi w przerwanie (obsługę przerwania).

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Reaguje tylko na linie:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Dioda led mruga bardzo szybko.
    Chciałbym ustawiać prędkość mrugania w przerwaniu.
    Przy prescalerze 256 świeci ciągle, nie widać mrugania.
    Gdzie popłniam błąd?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 kwi 2020, o 09:44 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 19 lis 2015
    Posty: 219
    Pomógł: 20

    Ten warunek za if i zerowanie zmiennej daj w nawiasy



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 kwi 2020, o 09:49 
    Offline
    Użytkownik

    Dołączył(a): 31 lip 2016
    Posty: 154
    Pomógł: 4

    Chodzi o to, że program nie wchodzi w przerwanie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 kwi 2020, o 15:30 
    Offline
    Użytkownik

    Dołączył(a): 02 gru 2015
    Posty: 550
    Pomógł: 28

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Cytuj:
    Chodzi o to, że program nie wchodzi w przerwanie.


    Wchodzi tyko jak kolega napisał masz błąd w ifie . prubuj tak
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    znajdź różnicę . ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 kwi 2020, o 15:59 
    Offline
    Użytkownik

    Dołączył(a): 31 lip 2016
    Posty: 154
    Pomógł: 4

    Niestety ale nie ma różnicy.
    Dlaczego twierdzę, iż program nie wchodzi do przerwania?
    Ponieważ gdy zakomentuję całe przerwanie to nie ma żadnej różnicy w
    działaniu programu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 kwi 2020, o 16:18 
    Offline
    Użytkownik

    Dołączył(a): 24 sty 2012
    Posty: 1469
    Pomógł: 56

    zorro napisał(a):
    Niestety ale nie ma różnicy.
    Dlaczego twierdzę, iż program nie wchodzi do przerwania?
    Ponieważ gdy zakomentuję całe przerwanie to nie ma żadnej różnicy w
    działaniu programu.

    radzę skorzystać z debugera jednodiodowego...

    _________________
    Jestem początkujący i moje porady mogą być błędne



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 kwi 2020, o 16:38 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27415
    Lokalizacja: Szczecin
    Pomógł: 1043

    zorro napisał(a):
    TCCR0A |= ( 1 << COM0A0 );  //Toggle OC0A pin nr12

    a po co to włączyłeś? Wiesz co to robi w ogóle ? Bo czuję, że nie wiesz i sobie zonka robisz.

    Poza tym pokaż zdjęcie jak to masz wszystko podłączone

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 kwi 2020, o 17:08 
    Offline
    Użytkownik

    Dołączył(a): 31 lip 2016
    Posty: 154
    Pomógł: 4

    To jest na płytce stykowej.
    Połączenie to: anoda diody przez rezystor do plusa 5V, katoda do pinu nr12 (OC0A)uC.
    Połączenie jest dobre ponieważ dioda wolno mruga przy F_CPU 1000000Hz.
    Ja mam 8000000Hz.

    TCCR0A |= (1<<COM0A0) przy Compare Match następuje toggle na pinie nr12 OC0A.

    Tabela 14-2 Compare Output Mode, non-PWM Mode. Strona 106 PDF.

    ------------------------ [ Dodano po: 2 minutach ]

    mirekk36 napisał(a):
    a po co to włączyłeś? Wiesz co to robi w ogóle ? Bo czuję, że nie wiesz i sobie zonka robisz.

    skoro nie wiem to może mi podpowiesz.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 kwi 2020, o 17:49 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27415
    Lokalizacja: Szczecin
    Pomógł: 1043

    zorro napisał(a):
    skoro nie wiem to może mi podpowiesz.

    to zastanów się co robisz - ustawiasz TCCR0A |= (1<<COM0A0) i jednocześnie próbujesz migać sobie programowo diodą LED na tym samym pinie

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 kwi 2020, o 18:29 
    Offline
    Użytkownik

    Dołączył(a): 31 lip 2016
    Posty: 154
    Pomógł: 4

    TCCR0A |= (1<<COM0A0) rozumiem w ten sposób, iż jest to tryb pracy danego pinu.

    Chodzi o to dlaczego nie wchodzi w przerwanie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 kwi 2020, o 19:33 
    Offline
    Użytkownik

    Dołączył(a): 24 sty 2012
    Posty: 1469
    Pomógł: 56

    A Ty swoje... nie wchodzi...

    _________________
    Jestem początkujący i moje porady mogą być błędne



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 kwi 2020, o 21:33 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27415
    Lokalizacja: Szczecin
    Pomógł: 1043

    zorro napisał(a):
    Chodzi o to dlaczego nie wchodzi w przerwanie.

    a po czym chcesz poznać że wchodzi ?

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 01:54 
    Offline
    Użytkownik

    Dołączył(a): 31 lip 2016
    Posty: 154
    Pomógł: 4

    mirekk36 napisał(a):
    zorro napisał(a):
    Chodzi o to dlaczego nie wchodzi w przerwanie.

    a po czym chcesz poznać że wchodzi ?

    Po zmianie prędkości mrugania diody, wybierając właśnie w przerwaniu.

    ------------------------ [ Dodano po: 2 minutach ]

    MirkoT napisał(a):
    A Ty swoje... nie wchodzi...

    Bo tak właśnie jest.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 03:25 
    Offline
    Użytkownik

    Dołączył(a): 14 sie 2016
    Posty: 905
    Pomógł: 39

    Skoro Ci miga dioda, to jednak wchodzi - pętle while masz pustą, więc to jest jedyne miejsce w którym zmieniasz stan pinu.

    _________________
    Moje porady są błędne,nie czytać,zbanować od razu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 07:08 
    Offline
    Użytkownik

    Dołączył(a): 31 lip 2016
    Posty: 154
    Pomógł: 4

    Harry napisał(a):
    Skoro Ci miga dioda, to jednak wchodzi - pętle while masz pustą, więc to jest jedyne miejsce w którym zmieniasz stan pinu.

    Pisałem już w post #1, że reaguje tylko na linie wyboru preskalera.
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Gdy zakomentuję cały kod przerwania to nic się nie zmienia.
    Prędkość migania zależy tylko od wyboru prescalera.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 07:11 
    Offline
    Użytkownik

    Dołączył(a): 14 sie 2016
    Posty: 905
    Pomógł: 39

    Zmień pin diody i wtedy zobacz, albo zapal dodatkową diodę w przerwaniu.

    Wysłane ze srajfona

    _________________
    Moje porady są błędne,nie czytać,zbanować od razu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 08:51 
    Offline
    Użytkownik

    Dołączył(a): 31 lip 2016
    Posty: 154
    Pomógł: 4

    [quote="Harry"]Zmień pin diody i wtedy zobacz, albo zapal dodatkową diodę w przerwaniu.
    Pin D5 to samo.
    Gdzieś jest błąd w kodzie tylko gdzie?

    Pisałem, że nie wchodzi do przerwania.



    Ostatnio edytowano 2 kwi 2020, o 09:07 przez zorro, łącznie edytowano 2 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 08:56 
    Offline
    Użytkownik

    Dołączył(a): 14 sie 2016
    Posty: 905
    Pomógł: 39

    Sprawdziłeś?

    Wysłane ze srajfona

    _________________
    Moje porady są błędne,nie czytać,zbanować od razu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 09:02 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27415
    Lokalizacja: Szczecin
    Pomógł: 1043

    ciężko się z zorrem dogadać jak widać

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 09:05 
    Offline
    Użytkownik

    Dołączył(a): 14 sie 2016
    Posty: 905
    Pomógł: 39

    Już się gryzę w palce żeby czegoś nie dopisać - wolę nie nadwyrężać twojej cierpliwości do siebie ;)

    Wysłane ze srajfona

    _________________
    Moje porady są błędne,nie czytać,zbanować od razu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 09:09 
    Offline
    Użytkownik

    Dołączył(a): 31 lip 2016
    Posty: 154
    Pomógł: 4

    [quote="Harry"]Już się gryzę w palce żeby czegoś nie dopisać - wolę nie nadwyrężać twojej cierpliwości do siebie ;)

    No przecież odpisałem na zadane pytanie.
    O co Wam chodzi?



    [



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 09:18 
    Offline
    Użytkownik

    Dołączył(a): 14 sie 2016
    Posty: 905
    Pomógł: 39

    Nie, nie odpisałeś. Pytanie było czy sprawdziłeś za pomocą diody czy wchodzi, a jedyna odpowiedź to taka że "widać tylko że dioda miga bez zmian", a to oznacza że nie sprawdziłeś tego. Była też sugestia ze strony Mirka żebyś nie próbował banglać dioda w sposób który ty próbujesz zrobić...

    Wysłane ze srajfona

    _________________
    Moje porady są błędne,nie czytać,zbanować od razu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 09:24 
    Offline
    Użytkownik

    Dołączył(a): 31 lip 2016
    Posty: 154
    Pomógł: 4

    Odpowiedziałem na twoje czy sprawdziłeś za pomocą diody czy wchodzi
    Zmieniłem na PD5, bez zmiany.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 09:37 
    Offline
    Użytkownik

    Dołączył(a): 14 sie 2016
    Posty: 905
    Pomógł: 39

    Zmień wogóle port.

    Wysłane ze srajfona

    _________________
    Moje porady są błędne,nie czytać,zbanować od razu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 10:42 
    Offline
    Użytkownik

    Dołączył(a): 31 lip 2016
    Posty: 154
    Pomógł: 4

    Harry napisał(a):
    Zmień wogóle port.
    Zmieniłem na PB7, bez zmiany.
    Zmiana prescalera nic nie zmienia.
    Musi być błąd w kodzie.

    Po zakomentowaniu linii TCCR0A |=(1<<COM0A0) też bez zmiany.

    Wysłane ze srajfona



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 10:46 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27415
    Lokalizacja: Szczecin
    Pomógł: 1043

    chłopie jak coś zmieniasz to pokaż że kod po swoich zmianach, myślisz że ktoś z twoich coraz krótszych odpowiedzi i najczęściej nie na temat - będzie jasnowidzem i przewidzi coś tam napisał ?

    Masz problem to go OPISUJ DOKŁADNIE na forum. I nie wierszem czy prozą tylko kodem w języku C.

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 11:13 
    Offline
    Użytkownik

    Dołączył(a): 31 lip 2016
    Posty: 154
    Pomógł: 4

    Oto kod po zmianach, portu na PB7 i wyłączeniu linii:
    TCCR0A0 |= (1<<COM0A0) ;

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    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: 2 kwi 2020, o 11:25 
    Offline
    Użytkownik

    Dołączył(a): 07 cze 2016
    Posty: 563
    Pomógł: 143

    zorro napisał(a):
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Proponowałbym usunąć w tej linii średnik...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 12:11 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27415
    Lokalizacja: Szczecin
    Pomógł: 1043

    andrews napisał(a):
    Proponowałbym usunąć w tej linii średnik...

    DOKŁADNIE !

    wprawdzie już w jego pierwszym kodzie wiadć było tego dziwnego średnika (chociaż tu akurat przypadkowo nie przeszkadzał ten średnik w próbie migania diodą - za to diodą próbował migać na pinie OC0A)

    Obrazek

    chociaż było czuć pismo nosem że w dalszym kodzie na pewno go nie usunie i doda nawiasy klamrowe i dodał ;)

    i się dziwi, że bez pokazania kodu to nikt nie potrafi pomóc

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 kwi 2020, o 12:42 
    Offline
    Użytkownik

    Dołączył(a): 31 lip 2016
    Posty: 154
    Pomógł: 4

    Po wprowadzeniu tych zmian dioda ciągle świeci.

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    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  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 34 ]  Przejdź na stronę 1, 2  Następna strona

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Google [Bot] i 9 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