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



Teraz jest 24 kwi 2024, o 11:15


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 23 lip 2016, o 14:55 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 18 lip 2016
Posty: 5
Pomógł: 0

Witam wszystkich!
Na wstępie chciałem napisać:
Miło mi, że dołączyłem do społeczności tego forum. Śledzę je już jakiś czas i bardzo mi się spodobało.
Z racji tego, że jestem początkujący liczę na waszą pomoc.
Chcę za pomocą pętli for mignąć diodą 5 razy(W ramach ćwiczeń). Diodę mam podłączoną katodą do pinu PD0 mikrokontrolera Atmega328p.
Po skompilowaniu programu i uploadnięciu do atmegi dioda świeci cały czas.
Co jest w kodzie nie tak?
Siedzę już jakiś czas i na nic nie mogę wpaść.
Panie Mirku, czekam na kolejne video!
Pozdrawiam!, Maryś

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



Ostatnio edytowano 23 lip 2016, o 15:44 przez marys89, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2016, o 15:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 gru 2014
Posty: 77
Lokalizacja: Gorlice
Pomógł: 5

Wstaw poprawnie kod programu za pomocą SYNTAX i mnie się wydaje że brakuje while(1) po uint8_t i;
Masz BB popatrz na oryginalny kod Mirka
Może o coś takiego Ci chodziło ?

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



Ostatnio edytowano 23 lip 2016, o 15:36 przez Andrzej, łącznie edytowano 4 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2016, o 15:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

Proszę poprawić formatowanie kodu zgodnie z zasadami na forum !!!!

--- Gdzie ci znikła pętla główna While ??


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


Czy czasem tak nie miało to wyglądać ??

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2016, o 15:54 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 18 lip 2016
Posty: 5
Pomógł: 0

Niestety cały czas to samo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2016, o 16:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

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


Zobacz tak ...

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2016, o 16:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

kolego "marys89",
Twój pierwszy kod też działa. Sprawdziłem.
Zobacz czy na pewno podłączyłeś dobrze diodę. Czy pod PD0, Czyli nóżka obok resetu.
Pozdrawiam.

------------------------ [ Dodano po: 3 minutach ]

Mryga 2 razy i tyle. Czyli według Twoich oczekiwań. :)

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

w takiej formie też działa.
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: 23 lip 2016, o 17:16 
Offline
Moderator
Avatar użytkownika

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

marys89 napisał(a):
#define LED_PIN (1<<PD0)


Podłączyłeś pod PD0 ... hmm a jaki procek używasz to już nie napisałeś ? ;)

Nie napisałeś też czy być może jest to np ATmega32 .. a jeśli tak i używasz komunikacji RS232 - to być może właśnie tu masz konflikt


A co do wideo ;) to jeszcze trzeba troszkę poczekać - na razie wciąż ostro produkuje się YB (Yellowbook) aż iskry lecą :lol:

_________________
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: 23 lip 2016, o 17:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Tak sobie jeszcze pomyślałem,
A może niechcący masz takt kwarc 16MHz, a w ustawieniach 1MHz.
Może tak szybko mrygnie te dwa razy że nie zauważasz?
Bo z kodu wynika że w ATmega328p o którym piszesz, pozostałe piny są wejściami bez podciągnięcia.
Przy pomyłce pinu dioda nie świeciła by się w ogóle.

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

Tak na marginesie:
Napisałeś mrygnąć 5 razy.
A w kodzie masz pięć zmiany stanu na przeciwny.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2016, o 17:45 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 18 lip 2016
Posty: 5
Pomógł: 0

No właśnie "mryga" 2 razy a chciałem 5. for(i=0; i <=5; i++)
Podłączone mam napewno pod PD0 co widać na załączonym zdjęciu:
Obrazek

Oscylator wewnętrzny mam ustawiony w MKVAVRCalculatorze na 8MHz i tak samo w Project--> Properties-->AVR-->Target Hardware.

Panie Mirku: używam usbasp oraz Atmega328p ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2016, o 17:51 
Offline
Użytkownik

Dołączył(a): 26 lip 2015
Posty: 269
Pomógł: 34

Dlatego 2 razy bo masz led Tog a to oznacza że pięć razy będzie zmieniony stan na przeciwny a więc ci rozpiszę.
1 obieg pętli Led on
2 Led off
3 led on
4 led off
5 led on

Więc wystarczy, że zrobisz pętlę która wykona się 10 razy i będziesz miał 5 mrugnięć albo w jednym obiegu napiszesz włączenie i zgaszenie leda z odpowiednimi przerwami ;)



Ostatnio edytowano 23 lip 2016, o 17:53 przez Bartek123, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2016, o 17:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

marys89 napisał(a):
No właśnie "mryga" 2 razy a chciałem 5. for(i=0; i <=5; i++)

To musisz więcej Togów napisać.
Albo:
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: 23 lip 2016, o 17:58 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 18 lip 2016
Posty: 5
Pomógł: 0

Ach w ten sposób to trzeba liczyć(no logiczne)!
Panowie - serdecznie dziękuję za pomoc ;)
Wszystko działa jak miało.
Dziękuję!
Temat do zamknięcia.



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

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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO