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



Teraz jest 28 mar 2024, o 13:15


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 ]
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: 544
Pomógł: 27

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: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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 ]
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: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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 ]
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ł: Brak zidentyfikowanych użytkowników i 10 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO