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



Teraz jest 18 kwi 2024, o 03:23


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 31 ]  Przejdź na stronę 1, 2  Następna strona
Autor Wiadomość
PostNapisane: 25 paź 2014, o 20:28 
Offline
Nowy

Dołączył(a): 24 paź 2014
Posty: 21
Pomógł: 0

1. Hej ! Mam pewien mały problem (znów banalny :oops:)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Chodzi mi o to że, gdy diody się świecą to na wyświetlaczu ma widnieć napis LED OFF. Nie wiem jak to zrobić - powyższy sposób nie działa. Gdy nacisnę klawisz to LCD wyswietli "LED ON" a zaraz "LED OFF".

2. A tak przy okazji, gdy programuję przez AVR Dragon to czasami zaprogramuje się do końca, czasem zatrzyma na weryfikacji pamięci a czasem na wgrywaniu powodując dziwne znaczki na (albo całkowity brak czegokolwiek) wyświetlaczu. Bardo rzadko pojawia się błąd dlatego nie udało mi się zrobić screena, ale szukałem info. na jego temat i miałem go skopiowanego w schowku, pojawia się przy wgrywaniu: ispProgramMem: Error status received: Got 0x80, expected 0x00
lub przy weryfikowaniu praktycznie cały czas (jak ponowie próbę zaprogramowania to jest już ok):
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 20:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

jakub113a napisał(a):
# define F_CPU 2000000UL


Kolega na początek przestań uprawiać takie herezje dobra? Bo to początek Twoich kłopotów.

Jakim programem się posługujesz Eclipse czy Atmel Studio?

z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 20:36 
Offline
Użytkownik

Dołączył(a): 19 sty 2013
Posty: 322
Pomógł: 22

Witam

Takiego czegoś nie używamy:

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


Taktowanie mikrokontrolera ustawiamy w parametrach projektu.
Zainstaluj sobie program mkAVRCalculator, on obsłuży twój mikrokontroler w pełni w wersji free. Czy masz książkę Mirka ?

Pozdrawiam
Elektronik



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 20:39 
Offline
Nowy

Dołączył(a): 24 paź 2014
Posty: 21
Pomógł: 0

O kurcze, sory za to # define F_CPU 2000000UL. Zapomniałem ustawić do 1000000UL. Po prostu próbowałem wszystkiego :).
Książki Mirka nie mam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 20:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

jakub113a napisał(a):
O kurcze, sory za to # define F_CPU 2000000UL. Zapomniałem ustawić do 1000000UL. Po prostu próbowałem wszystkiego :).
Książki Mirka nie mam.


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


czy

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


To herezja zostaje herezją - NIGDY NIE UŻYWAJ TEJ MAKRODEFINICJI W KODZIE
Napisz jakie masz środowisko pracy, abyśmy mogli Ci powiedzieć jak to powinieneś zrobić ;)

z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 20:41 
Offline
Użytkownik

Dołączył(a): 19 sty 2013
Posty: 322
Pomógł: 22

jakub113a napisał(a):
O kurcze, sory za to # define F_CPU 2000000UL. Zapomniałem ustawić do 1000000UL. Po prostu próbowałem wszystkiego :).


Witam

Ale nam chodzi o to, że tej linijki nie ma być w kodzie programu tylko taktowanie mikrokontrolera ma być ustawione w parametrach projektu.

Pozdrawiam
Elektronik



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 20:44 
Offline
Nowy

Dołączył(a): 24 paź 2014
Posty: 21
Pomógł: 0

Hmm.. Korzystam z Atmel Studio 6.2 (ponieważ mam AVR Dragona) i gdy nie mam tej linijki to wyskakuje mi:
1#warning "F_CPU not defined for <util/delay.h>" [-Wcpp]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 20:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Kolega tak ustawiamy taktowanie w opcjach projektu:

1. Project -> [nazwa_projektu] Properties...
2. Toolchain
3. AVR/GNU C Compiler -> Symbols
4. W okienku Defines symbols (-D) kilkamy dokument z zielonym plusikiem
5. W oknie co wyjdzie wpisujemy: "F_CPU=8000000UL" dla 8MHz, dla innych analogicznie
6. Następnie AVR/GNU C Compiler -> Optimization
7. Ustawiamy Optimization Level na Optimize for Size (-Os)

z Niebieskim pozdRowieniem,
Doman89


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 20:47 
Offline
Użytkownik

Dołączył(a): 19 sty 2013
Posty: 322
Pomógł: 22

Witam

Nie mam AS, ale spróbuj najechać myszą na projekt kliknąć prawym przyciskiem wybrać edit configuration options i tam masz pole rozwijane freguency.

Pozdrawiam
Elektronik



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 20:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Cytuj:
Nie mam AS, ale spróbuj najechać myszą na projekt kliknąć prawym przyciskiem wybrać edit configuration options i tam masz pole rozwijane freguency.


Kolega nie masz Atmel Studio ale mówisz, gdzie są ustawienia częstotliwości ;)

Nie ma pola rozwijanego niestety :)

z Niebieskim pozdRowieniem,
Doman89


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

To mniej więcej jest tu:

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 20:54 
Offline
Nowy

Dołączył(a): 24 paź 2014
Posty: 21
Pomógł: 0

Ok. Działa. To teraz, pomożecie z tym programem ? :D
Zmieniłem na samo:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


I ciągle wyświetla się LED ON.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 20:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

jakub113a napisał(a):
else

Kolega to jest słówko klucz do Twojego if'a.

Mógł bym to przetłumaczyć w skrócie

if( jeżeli mam wciśnięty guzik)
to.....

else - w przeciwmym razie
to......

Czyli jak wciśniesz guzik to pojawi się napis na 20ms, później tylko LCD_OFF. No chyba, że będziesz trzymał guzik ;)

z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 20:59 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

problem jest taki, że jeśli raz naciśniesz i przytrzymasz klawisz to nadasz mu wartość 1
a potem już nigdy nie zostanie wyzerowany ;-)

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 21:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Miało być LED OFF zamiast LCD :P

z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 21:06 
Offline
Nowy

Dołączył(a): 24 paź 2014
Posty: 21
Pomógł: 0

doman89 napisał(a):
jakub113a napisał(a):
else

Kolega to jest słówko klucz do Twojego if'a.

Mógł bym to przetłumaczyć w skrócie

if( jeżeli mam wciśnięty guzik)
to.....

else - w przeciwmym razie
to......

Czyli jak wciśniesz guzik to pojawi się napis na 20ms, później tylko LCD_OFF. No chyba, że będziesz trzymał guzik ;)

z Niebieskim pozdRowieniem,
Doman89


Ahh... no tak ! Przecież to oczywiste, a ja się ciągle głupi skupiałem na tym LED_OFF facepalm :mrgreen:
Chyba trzeba sobie zrobić małą przerwę od komputera :roll:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 21:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Kolega nie wiem czy w 100% rozumiem co chcesz osiągnąć, ale spróbuj tego kodu:

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


z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 21:23 
Offline
Nowy

Dołączył(a): 24 paź 2014
Posty: 21
Pomógł: 0

Twój program działa tak, że ciągle widnieje napis LED OFF i gdy przytrzymam to wtedy LED_ON. Ja chcę żeby po naciśnięciu zmieniał się napis - raz LED_ON a raz LED_OFF. Widać też, jak napis się odświeża.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 21:34 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

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

pewnie za dużo tych nawiasów klamrowych, ale po prostu poprawiałem Twój kod w treści wiadomości :-(

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 21:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

jakub113a napisał(a):
Twój program działa tak, że ciągle widnieje napis LED OFF i gdy przytrzymam to wtedy LED_ON. Ja chcę żeby po naciśnięciu zmieniał się napis - raz LED_ON a raz LED_OFF. Widać też, jak napis się odświeża.


Czyli takie coś:

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


Co do odświeżania to musisz przerwania ruszyć, jak chcesz moge dać jakiś prosty przykładzik ;)

Tylko napisz na jakie taktowanie.

z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 21:43 
Offline
Nowy

Dołączył(a): 24 paź 2014
Posty: 21
Pomógł: 0

MirkoT napisał(a):
W takim razie spróbuj coś takiego
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

pewnie za dużo tych nawiasów klamrowych, ale po prostu poprawiałem Twój kod w treści wiadomości :-(


Już tego próbowałem... nie działa.

doman89 - tym razem napisane jest LED_ON i widać jak się odświeża a gdy przytrzymam nie widać żeby się odświeżało :D Poza tym, taki warning - 'klawisz' may be used uninitialized in this function [-Wmaybe-uninitialized]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 21:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

jakub113a napisał(a):
Poza tym, taki warning - 'klawisz' may be used uninitialized in this function [-Wmaybe-uninitialized]


Daj w main przed while:

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


z Niebieskim pozdRowieniem,
Doman89


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 21:51 
Offline
Nowy

Dołączył(a): 24 paź 2014
Posty: 21
Pomógł: 0

Yeeey, działa :) Jesteś wielki. Prosiłbym jeszcze o te przerwania odnośnie odświeżania wyświetlacza.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 21:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Cytuj:
Yeeey, działa Jesteś wielki. Prosiłbym jeszcze o te przerwania odnośnie odświeżania wyświetlacza.


A ja prosiłem:

Cytuj:
Tylko napisz na jakie taktowanie.


z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 21:58 
Offline
Nowy

Dołączył(a): 24 paź 2014
Posty: 21
Pomógł: 0

1MhZ



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2014, o 22:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Kod nietestowany pisany na sucho, więc jak wyskoczą błędy to popraw je:

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


z Niebieskim pozdRowieniem,
Doman89


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 paź 2014, o 15:26 
Offline
Nowy

Dołączył(a): 24 paź 2014
Posty: 21
Pomógł: 0

Niestety nie działa. (już nieważne, że ciągle jest napisane LED_OFF - to bym sobie sam zrobił) Próbowałem coś zmieniać ale nie do końca rozumiem jak to ma działać :/.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 paź 2014, o 15:34 
Offline
Moderator
Avatar użytkownika

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

jakub113a napisał(a):
Próbowałem coś zmieniać ale nie do końca rozumiem jak to ma działać

No bo kolega musi przede wszystkim zrozumieć, że NAJPIERW warto nauczyć się podstaw - jak się pisze programy - czyli PODSTAW C ... Bo jak widać próby zmian tak losowo "na chybił trafił" w cudzym kodzie, bez zrozumienia podstaw, kończą się najczęściej, że "nie trafił"

_________________
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: 26 paź 2014, o 15:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

jakub113a napisał(a):
Niestety nie działa. (już nieważne, że ciągle jest napisane LED_OFF - to bym sobie sam zrobił) Próbowałem coś zmieniać ale nie do końca rozumiem jak to ma działać :/.


Kolega ale co się konkretnie dzieje? Bo tak to ciężko wróżyć. Kopiowałeś mój cały kod czy przerabiałeś swój?

Ja zauważyłem na początek jeden błąd u mnie w tym co napisałem:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 paź 2014, o 16:13 
Offline
Nowy

Dołączył(a): 24 paź 2014
Posty: 21
Pomógł: 0

Tak to wiem, było również kilka literówek. Programując kod który kolega tu umieścił dzieje się tak:
Na początku bardzo szybko zmienia się LED_OFF na LED_ON a gdy nacisnę i puszczę wyświetla się samo LED_ON. No i wciąż widać jak się odświeża (chyba że jest to spowodowane tą szybko zmianą napisów z LED_OFF na LED_ON)

mirekk36 napisał(a):
jakub113a napisał(a):
Próbowałem coś zmieniać ale nie do końca rozumiem jak to ma działać

No bo kolega musi przede wszystkim zrozumieć, że NAJPIERW warto nauczyć się podstaw - jak się pisze programy - czyli PODSTAW C ... Bo jak widać próby zmian tak losowo "na chybił trafił" w cudzym kodzie, bez zrozumienia podstaw, kończą się najczęściej, że "nie trafił"


Moja natura jest taka, że nie potrafię się nauczyć z książki, dlatego nie czytam książek, nie potrafię się skupić i ogólnie mam z tym problem. Najszybciej się uczę gdy analizuję kod, zmieniam różne wartości, i wyciągam wnioski.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 paź 2014, o 16:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

jakub113a napisał(a):
Moja natura jest taka, że nie potrafię się nauczyć z książki, dlatego nie czytam książek, nie potrafię się skupić i ogólnie mam z tym problem. Najszybciej się uczę gdy analizuję kod, zmieniam różne wartości, i wyciągam wnioski.


Kolega bo nie znasz książek p. Mirosława Kardasia ;) Ja pierwszą książkę jaką kupiłem w EMPIK'u była to książka Tomasza Francuza, nie mogę złego słowa powiedzieć, ale niestety jest ona raczej nie dla początkującego. Mieszanie z makrodefinicjami _BV i tym podobne są tylko mieszaniem w głowach. Natomiast Bluebooka to można powiedzieć, że "wchłaniałem", jest napisana w ten sposób, że myślę iż nie jeden uczeń podstawówki zaczął by po niej konstruować ;), teraz to czekam na twardego greenbooka.

Co do kodu to odświeżanie powinno wynosić 10x sek.

z Niebieskim pozdRowieniem,
Doman89



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: 31 ]  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 6 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