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



Teraz jest 24 lut 2025, o 21:25


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 21 kwi 2015, o 22:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 68
Pomógł: 0

Mam taki mały problem: chce włączać wybraną diodę w przerwaniu od Timera. Diod jest trzy. Wykorzystałem instrukcje switch. Jak x=1 to miga mi dioda czerwona, jak x=2 to miga dioda niebieska, ale jak ustawiam x=3 to dioda żółta już nie chce migać. I tutaj moje skromne pytanka: Czy w ogóle tak się robi, czy to jest poprawnie i czy w ogóle dobrze to rozumiem ? ;/

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: 22 kwi 2015, o 06:09 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Przerwanie w twoim kodzie trwa krótko, więc spoko. Na porcie C jest JTAG (PC2-PC5). Sprawdź czy przestawiłeś fusebit, który wyłącza tą funkcję.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 kwi 2015, o 09:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 68
Pomógł: 0

JTAG jest wyłączony (w mkAVR Calculator). Sprawdzałem działanie żółtej diody w przerwaniu i miga, tylko właśnie wówczas jak jest tylko dwa case-y czyli np. na case 1 jest dioda niebieska, a na case 2 jest dioda żółta, jak dodaje trzeci case to już ten trzeci nie odpala i to jest właśnie dla mnie troche dziwne.

------------------------ [ Dodano po: 10 minutach ]

Poszło. Przełącza wszystkie diody. Przełączyłem wyjście diody z pinu PC5 na PD5 i pomogło. Ale w sumie dalej nie rozumiem dla czego mi nie chciało działać na pinie PC5 skoro JTAG był cały czas wyłączony ? :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 kwi 2015, o 12:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 450
Pomógł: 3

Witam!
Przełącza diody owszem ładnie, ale poprzednio wybrane pozostają włączone lub wyłączone w sposób wydaje się losowy. Działa mruganie diodą, ale po wybraniu innej mrugająca przestaje mrugać, ale pozostaje nadal włączona. Gdzieś trzeba wyłączyć poprzednią diodę przy wyborze kolejnej.
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 kwi 2015, o 15:43 
Offline
Użytkownik

Dołączył(a): 04 cze 2013
Posty: 517
Pomógł: 26

Kolego w case jeśli włączasz pierwszą LED to w tym samym case ustaw pozostałe jako wyłączone i tak w każdym case zrób

_________________
Przewodnik|Sterownik akwariowy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 kwi 2015, o 15:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Na przykład tak:
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: 22 kwi 2015, o 15:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 450
Pomógł: 3

Bardzo dziękuję!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 kwi 2015, o 11:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 68
Pomógł: 0

Tak zrobiłem i działa ładnie, ale jak 3 dioda podłączona jest do pinu PD5... Jak dioda podłączona jest do PC5 to 3 case nie działa i to jest duża zagadka :D , ale dzięki wszystkim za odpowiedź ! ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 kwi 2015, o 13:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

To nie zagadka! :D
Krauser napisał(a):
Na porcie C jest JTAG (PC2-PC5). Sprawdź czy przestawiłeś fusebit, który wyłącza tą funkcję.

Gdy ją wyłączysz to będziesz mógł używać między innymi PC5 (PC2-PC5) tak samo jak np.PD5.
Możesz to zrobić programem mkAVRCalculator w zakładce Fusy uproszczone, Interfejs JTAG (ma być Wyłączony). Generalnie we fusebitach procesora bit o nazwie JTAGEN musi być ustawiony na 1, wtedy nastąpi wyłączenie JTAG'a.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 kwi 2015, o 18:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 68
Pomógł: 0

Już to sprawdzałem, po poście Krausera i mam wyłączony JTAG (sprawdzałem w mkAVRCalculator), ale być może procek coś wariuje... już niedługo będe miał drugi procek do drugiego projektu to porównam i zobacze :).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2015, o 06:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 sie 2012
Posty: 198
Lokalizacja: /dev/null
Pomógł: 2

Mozę masz uwalony port/pin C te co nie działa ci też podobną sytuacje miałem , ale z mikroprzełącznikami :D.

_________________
sig off ;(



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: 11 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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