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



Teraz jest 16 kwi 2026, o 11:29


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 19 maja 2015, o 17:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 maja 2015
Posty: 41
Pomógł: 0

Witam,
od niedawna uczę się programować w języku C dla AVR, zakupiłem bluebooka(wcześniej miałem książkę Eliota Williamsa - nie polecam)
i jestem akurat na temacie multipleksowania.
Ze względu na fakt, iż nie mam wyświetlacza 7-mio segmentowego, zdecydowałem, że zrobię przykład na samych diodach LED.
Nie pisałem programu dokładnie z książki, lecz wzorowałem się na nim.
Posiadam ATmege 328P(arduino), kwarc 16MHz.
Oto kod:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jestem pewien, że dobrze podłączyłęm diody, udało mi się zkompilować i przesłać hex'a do arduino, ale nie działa. Diody nawet się nie zaświecają.

Pozdrawiam

------------------------ [ Dodano po: 5 minutach ]

Zauważyłem błąd - brak sei();
po kompilacji mam zapaloną tylko jedną diodę.
Przynajmniej tak mi się wydaje - może zbyt szybkie odliczanie CTC?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2015, o 17:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lut 2013
Posty: 158
Lokalizacja: KTT
Pomógł: 1

Kolego,
włącz sobie globalne zezwolenie na przerwania i spróbuj jeszcze raz.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


------------------------ [ Dodano po: 1 minucie ]

Bez schematu ciężko coś powiedzieć:)

_________________
Gordon



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2015, o 17:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 maja 2015
Posty: 41
Pomógł: 0

@Gordon
Dziękuję, już to zrobiłęm.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2015, o 17:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lut 2013
Posty: 158
Lokalizacja: KTT
Pomógł: 1

na mój gust, tak na pierwszy rzut oka, to zrobiłeś w przerwaniu pułapkę programową w przerwaniu....

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


program wchodzi to pętli i już z niej nie wychodzi:)


Autor postu otrzymał pochwałę

_________________
Gordon



Ostatnio edytowano 19 maja 2015, o 17:44 przez gordon10, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2015, o 17:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lut 2013
Posty: 158
Lokalizacja: KTT
Pomógł: 1

Warunek zawsze jest spełniony i program ciągle krąży w pętli.

_________________
Gordon



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2015, o 17:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 maja 2015
Posty: 41
Pomógł: 0

Dziękuje Gordon,
program ma za zadanie zmieniać zapalone diody:
PD0 zapala się;
PD1 zapala się, PD0 gaśnie;
itp.

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

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

w celu uzyskania zmiany diody co 1 Hz, dalej nie działa(PD0 zapalone inne nie)

------------------------ [ Dodano po: 4 minutach ]

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

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


------------------------ [ Dodano po: 5 minutach ]

Dalej nie działą

------------------------ [ Dodano po: 5 minutach ]

Cały kod wygląda teraz 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: 19 maja 2015, o 17:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 maja 2015
Posty: 41
Pomógł: 0

zmieniłem, ciągle tak samo, zrobiłem Clean, ale dalej nie...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2015, o 18:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 maja 2015
Posty: 41
Pomógł: 0

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


------------------------ [ Dodano po: 18 minutach ]

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

poprawiłem na:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
(z WINAVR /include)
i 1024 w OCR na 255(miga super szybko)

Bardzo dziękuje wszystkim za pomoc!

Zamykam temat



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

Dołączył(a): 17 lut 2013
Posty: 158
Lokalizacja: KTT
Pomógł: 1

Najczęściej diabeł tkwi w szczegółach:)
Fajnie, że 'hula' jak chciałeś.

_________________
Gordon



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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