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



Teraz jest 31 mar 2026, o 08:33


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 13 kwi 2014, o 16:02 
Offline
Nowy

Dołączył(a): 13 kwi 2014
Posty: 2
Pomógł: 0

Witam,

jest to mój pierwszy post tutaj, dopiero zacząłem zabawę z programowaniem i już mam problem. Najpierw katuję diody przy pomocy mojej ATmegi8. Obecnie walczę z przesunięciami bitowymi. Mam pomysł zaświecenia 6-ciu diod i gaszenia ich po kolei. Niby diody się gaszą, lecz nie tak jak bym chciał. Nie umiem tego opisać zdaniem (wyszłoby masło maślane), więc opiszę stanami logicznymi; 1 - dioda świeci, 0 - nie świeci. Chciałbym aby było tak: 111111 > 111110 > 111100 > 111000 itd aż do samych zgaszonych. Mój program działa tak: 111111 > 111110 > 111101 > 111011 > 110111 > 101111 > 011111. Przesuwa mi po prostu gasnącą diodę. Potrzebuję rady, jestem początkującym programistą, w dodatku mam dopiero 16 lat :D może wkleję fragment mojego kodu z Eclipsa. Zdjęcia płytki nie wkleję, ponieważ naraziłbym się Panu Kardasiowi. Z racji tego że wydałem całe kieszonkowe na procesor, stykówkę, programator itd nie zostało mi nic na zworki, dlatego tymczasowo, pragnę podkreślić, używam rozbebeszonej skrętki zlutowanej z goldpinami. Wygląda strasznie, ale cóż, chwilowo tak być musi.

Kod:
for (n=0; n<6; n++)
      {
         PORTC=(1<<n);
         _delay_ms(1000);
      }


Co tu zmienić, by gasiło wszystkie, a nie tylko aktualną. Myślę, że trzeba dodać w pętli na końcu nową wartość dla PORTC, tylko jaką? Będę wdzięczny za wskazówki!

Pozdrawiam!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 kwi 2014, o 16:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Spróbuj 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: 13 kwi 2014, o 16:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 mar 2013
Posty: 333
Pomógł: 10

Zamiast PORTC=(1<<n); wstaw PORTC |= (1<<n); co się wtedy dzieje? niestety nie moge teraz tego sprawdzic ale wydaje mi się ze powinno pomóc.



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

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

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


Trochę się spóźniłem ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 kwi 2014, o 16:27 
Offline
Nowy

Dołączył(a): 13 kwi 2014
Posty: 2
Pomógł: 0

Dziękuję za podpowiedź, ponieważ zadziałało |= :)

Panie Atmegowiec, jak już rozgryzłem o co chodzi zobaczyłem dopiero Pański post. Dziękuję za wyrozumiałość w stosunku do świeżaka.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 kwi 2014, o 16:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 mar 2013
Posty: 333
Pomógł: 10

prosze bardzo ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 kwi 2014, o 16:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 gru 2012
Posty: 530
Lokalizacja: Bydgoszcz
Pomógł: 8

Ja tylko podpowiem, że warto zainwestować w Bluebooka.

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

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