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



Teraz jest 25 lip 2026, o 15:02


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 13 lut 2017, o 22:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 sty 2017
Posty: 32
Pomógł: 0

Witajcie ponownie :) Dla ćwiczeń zrobiłem dwie diody, jedna to z wyświetlacza a druga podłączona + włącznik i teraz tak chcę zrobić 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.


Czyli jeśli włączam klawisz to zapala się dioda LCD a jeśli nie to pali się ta druga. Jestem w kłopocie, bo to rozwiązanie raz działa a raz nie. Ustawiając _delay_ms() w drugiej diodzie trzeba kilka razy nacisnąć przycisk albo dłużej go trzymać żeby dioda LCD się zapaliła z powrotem, natomiast usuwając _delay_ms() wszystko działa i dwie diody się przełączają. Chciałbym żeby ta druga mrugała. Jak za to się zabrać ? Chodzi to o drgania styków ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2017, o 22:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

Delaje to zły pomysł, bo blokujesz wszystko - również sprawdzanie stanu klawisza.

Użyj timerów a guzikiem tylko ustawiaj flagi i potem już w samej pętli głównej zaswiecaj gaś lub migaj diodą

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2017, o 22:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

O drganiach styków i obsłudze klawisza poczytaj na blogu P.Mirka.
Powiedz jeszcze co to jest?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


chcesz 55sek. opóźnienia ? funkcja delay z takim czasem po prostu ci nie zadziała

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lut 2017, o 08:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 298
Pomógł: 13

Poczytaj na blogu - trzyczęściowy artykuł o przewrotnym tytule. Ale patent działa rewelacyjnie.
Spokojnie poczytaj i przeanalizuj. Poza tym jest podany gotowy kod obsługi przycisku, musisz tylko umieć odpalić przerwanie od timera.
W razie problemów pomożemy.

http://mirekk36.blogspot.com/2012/10/dr ... ak-to.html



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lut 2017, o 19:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 sty 2017
Posty: 32
Pomógł: 0

mczarny napisał(a):
O drganiach styków i obsłudze klawisza poczytaj na blogu P.Mirka.
Powiedz jeszcze co to jest?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


chcesz 55sek. opóźnienia ? funkcja delay z takim czasem po prostu ci nie zadziała


Koncepcja jest taka, żeby włączyć podświetlenie LCD i po 55 sek. sobie gaśnie a gdyby gasło stopniowo było by pięknie., idąc dalej jak podświetlenie LCD zgaśnie to zapala się dioda standBy, która sobie spokojnie mruga. Takie dodatkowe ćwiczenia, które mi wpadło do głowy apropo LCD i biblioteki termometru z książki :)

zoom napisał(a):
Poczytaj na blogu - trzyczęściowy artykuł o przewrotnym tytule. Ale patent działa rewelacyjnie.
Spokojnie poczytaj i przeanalizuj. Poza tym jest podany gotowy kod obsługi przycisku, musisz tylko umieć odpalić przerwanie od timera.
W razie problemów pomożemy.


Dużo tego, książka blog ale nic, nie poddaję się :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2017, o 00:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 sty 2017
Posty: 32
Pomógł: 0

Udało mi się uruchomić trzy diody z programu Pana Mirka i włącznik ale chcą zainicjować to termometru posypało się nieco :) Narazie do main a jak będzie działać ładnie podzielę.

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


Termometr zamarł, nie wyświetla ilości czujników a także temperatura nie zmienia się, to znaczy zmienia się ale jak podłączę i odłączę z zasilania. Nie wiem gdzie leży przyczyna :/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2017, o 00:14 
Offline
Użytkownik

Dołączył(a): 27 lut 2013
Posty: 230
Pomógł: 4

hmmm no "troszkę" namieszałeś ;)

na początku w main ładnie odczytujesz temperaturę i ją nawet wyświetlasz po czym wpadasz w pierwszą pętlę while i tam sprawdzasz przycisk i mrugasz diodą, kolejne sprawdzanie temperatury odbywa się w drugiej pętli while która nigdy się nie wykona. Nie wiem czy to zrobiłeś z niewiedzy czy coś masz na celu ale w taki sposób się nie programuje. skoro masz BB to popatrz przeanalizuj jak wygląda program do np. odczytu temperatury lub inny trochę bardziej rozbudowany może załapiesz jak powinna wyglądać taka ogólna budowa programu.

freedom_street napisał(a):
Termometr zamarł, nie wyświetla ilości czujników a także temperatura nie zmienia się, to znaczy zmienia się ale jak podłączę i odłączę z zasilania. Nie wiem gdzie leży przyczyna :/


Przyczyna to właśnie to że ta druga pętla while nigdy się nie wykona.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2017, o 23:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 sty 2017
Posty: 32
Pomógł: 0

Ehh... tak teraz widzę co zrobiłem. Dziękuję za radę i pomoc :) Pojawił się natomiast inny problem, po cleanowaniu projektu, poleciał .hex .eep .lssi. Coś się z Eclipse stało i po każdym kompilowaniu kasowało te pliki i nie mogłem wgrać nic z projektu, potem uruchomiłem ponownie komputer i został tylko folder Relase, nawet jeśli tworzyłem je sztucznie, lub przerzucałem z projektu Pana Mirka i tak były te pliki kasowane, tak więc muszę zaczynać od nowa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2017, o 23:39 
Offline
Użytkownik

Dołączył(a): 14 lut 2017
Posty: 69
Pomógł: 2

Drgania styków można też wyeliminować bez uruchamiania przerwań:

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


Do użycia tylko w pętli głównej programu ;)



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