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



Teraz jest 23 maja 2026, o 21:53


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 9 mar 2015, o 21:36 
Offline
Nowy

Dołączył(a): 17 gru 2014
Posty: 7
Pomógł: 0

Witam. Jestem początkującym w AVRkach i w samym języku C. Chciałbym prosić o pomoc w napisaniu prostego programu, który przybliżył by mi troche ten język oraz ułatwił znacząco nauke. Chodzi dokładnie o to aby program wykonywał daną funkcje gdy przycisk zostanie kliknięty 5 razy (Coś jak w zabezpieczeniach od epapierosów). Wstawiam tutaj moje wypociny, ale dużo tutaj tego nie ma i raczej na nic się nie zdadzą. Z góry dziękuje za chęci ;)

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: 9 mar 2015, o 21:48 
Offline
Użytkownik

Dołączył(a): 19 cze 2014
Posty: 247
Pomógł: 15

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


Autor postu otrzymał pochwałę

_________________
http://elektropanel.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2015, o 22:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 maja 2014
Posty: 317
Pomógł: 19

inde7 napisał(a):
(...)
Cześć!
Ja jeszcze tylko dodam, że jeżeli chcesz lekko przyspieszyć naukę w C, to staraj się w praktyce stosować zasadę "dziel i rządź". O co chodzi w tym przypadku? Dzielisz to co jest wewnątrz funkcji while na pomniejsze fragmenty, tzn. dzielisz główny (duży) algorytm w while (lub w całej funkcji main) na mniejsze algorytmy i pakujesz te małe algorytmy w funkcje (części poprzednio dużego algorytmu), a potem wywołujesz je po kolei w main, np.

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


Efekt jest taki, że jak coś nie działa jak trzeba i musisz przeanalizować kod, to kod o wiele bardziej uporządkowany i szybciej znajdziesz błąd. Oczywiście nic nie szkodzi na przeszkodzie, żeby potem (kiedy nabierzesz wprawy w programowaniu) znowu pisać wszystko w jednym miejscu (bo np. kod będzie się wtedy wykonywał szybciej, albo będzie Ci zależało na objętości programu).

Pozdrawiam! j23 Jarek

_________________
"O sygnałach bez całek" Czesław Frąc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2015, o 22:19 
Offline
Nowy

Dołączył(a): 17 gru 2014
Posty: 7
Pomógł: 0

Dzięki leonos2000 za pomoc, działa idealnie. J23 przyjme to sobie do serca i zastosuje w nauce jak i w swoich kodach. Ale teraz mam nowe pytanie, jak zrobić tak aby gdy się klika 5 razy to się włącza, 5 razy to wyłącza, ale gdy jest na włączonym to trzeba trzymać i wtedy dioda świeci. Dokładny mechanizm taki jak w epapierosie. Może dziwny przykład ale ostatnio coś takiego widziałem i stwierdziłem ze moge się na tym przykładzie zacząć uczyć :p



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2015, o 23:13 
Offline
Użytkownik

Dołączył(a): 19 cze 2014
Posty: 247
Pomógł: 15

Taki kod powinien 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.

Ogólnie do nauki C na AVR polecam: http://sklep.atnel.pl/pl/p/Mikrokontrolery-AVR-Jezyk-C-podstawy-programowania-PL-Ksiazka-DVD/75 nigdzie nie da się tak dobrze nauczyć jak z książki, szczególnie tak dobrej ;) .

_________________
http://elektropanel.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2015, o 09:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

Dodam tylko, że w takich rozwiązaniach wypadałoby jednak zatrudnić przerwania i na dodatkowym liczniku zrobić zerowanie licznika wciśnięć. Dało by to konkretny czas na wciśnięcie guzika pięcrazy czyli np. 10s, a po tym czasie znowu trzeba by zacząc wciskać od początku.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2015, o 19:55 
Offline
Nowy

Dołączył(a): 17 gru 2014
Posty: 7
Pomógł: 0

leonos2000 niestety kod nie działa ale dzięki za chęci ;) Musze się zaopatrzyć w blue booka :p SylwekK dobry pomysł z przerwaniami, niedługo wezme się za ich naukę.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2015, o 20:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

Przerwania są naprawdę fajne i łatwe w użyciu (zwłaszcza zwykłe cykliczne taktowanie) tylko podstawowy warunek to nie trzeba ich się bać :) Kiedy zaczynałem z uC też myślałem, że wszystko napiszę bez przerwań - częściowo się da, ale z przerwaniami jest o wieeeeele prościej ;)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 mar 2015, o 09:21 
Offline
Nowy

Dołączył(a): 05 lut 2014
Posty: 3
Pomógł: 0

Witam mam proźbę jak napisać programik na attiny2313 lub jakiś m8 taki żeby wyświetlał 3 cyfry od 0 do 9 (123) i jednym przyciskiem je zmieniać o jedną cyfre w górę i drugim przyciskiem o jeden w dół.
Albo każda cyfra żeby miała swój przycisk w jedną stronę.
Przydało by się jakieś podtrzymanie w przypadku braku zasilania i po ponownym uruchomieniu wyświetlał to samo co było przed zanikiem prądu.
Jestem początkującym w programowaniu.
Proszę o pomoc.



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

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

A masz niebieską książeczkę? Tam to wszystko jest jak na dłoni i dał byś z nią radę bez problemów.

_________________
http://www.sylwekkuna.com



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

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Kpieczyrak napisał(a):
Witam mam proźbę jak napisać programik na attiny2313 lub jakiś m8 taki żeby wyświetlał 3 cyfry od 0 do 9 (123) i jednym przyciskiem je zmieniać o jedną cyfre w górę i drugim przyciskiem o jeden w dół.
Albo każda cyfra żeby miała swój przycisk w jedną stronę.
Przydało by się jakieś podtrzymanie w przypadku braku zasilania i po ponownym uruchomieniu wyświetlał to samo co było przed zanikiem prądu.
Jestem początkującym w programowaniu.
Proszę o pomoc.


Kolego wydaje mi się że twoje pytanie nie ma nic do tego tematu. By nie było sajgonu wypadało by założyć nowy temat. Nawet na forum jak użyjesz opcji szukaj to znajdziesz coś podobnego to twojej koncepcji nie mniej napisz pytanie w nowym temacie by nie miksować 2 tematów w 1.

Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 mar 2015, o 11:46 
Offline
Moderator
Avatar użytkownika

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

Kpieczyrak napisał(a):
Witam mam proźbę jak napisać programik na attiny2313 lub jakiś m8 taki żeby wyświetlał 3 cyfry od 0 do 9 (123)

Zacząć się uczyć po kolei od migania pojedynczą diodą LED, wziąć w łapki książkę
http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

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