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



Teraz jest 27 mar 2026, o 01:21


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 28 lut 2014, o 20:11 
Offline
Nowy

Dołączył(a): 20 lut 2014
Posty: 13
Pomógł: 0

Witam, mam problem z wydawałoby się prostym programem (wycinek) :


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




Po uruchomieniu w dolnej linii wyświetlacza mam bezsensowne miganie wszystkich wartości bez dotykania przycisku, natomiast gdy wcisnę jeden dolna linijka wyświetlacza jest pusta, gdy puszczę sytuacja jest taka sama jak sprzed wciśnięciem
Korzystam z biblioteki radzia, reszta programu działa choć jak ktoś sobie życzy mogę go wrzucić, teraz tego nie zrobiłem aby niepotrzebnie zaśmiecać wątku. Dziękuję z góry za uwagę i odpowiedzi.



Kody wklejamy przy pomocy [syntax=c]
Co to ma wspólnego z DIY? Przenoszę, Różowo-zielony (czyli sraczkowy) J.



Ostatnio edytowano 28 lut 2014, o 20:29 przez Kocon, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2014, o 20:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 sty 2013
Posty: 426
Pomógł: 36

Wygląda na to, że nie podciągnąłeś przycisku do plusa zasilania.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2014, o 20:31 
Offline
Nowy

Dołączył(a): 20 lut 2014
Posty: 13
Pomógł: 0

Całość nawet specjalnie podłączałem do płytki stykowej by sztucznie podłączyć je do zasilania, niestety nie dało to oczekiwanych rezultatów.
Troszkę zaskoczył mnie fakt że temat został przeniesiony do działu Bascom AVR skoro program jest pisany w C



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2014, o 21:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 sty 2013
Posty: 426
Pomógł: 36

Kocon napisał(a):
Troszkę zaskoczył mnie fakt że temat został przeniesiony do działu Bascom AVR skoro program jest pisany w C


Pewnie jakaś pomyłka.

Kocon napisał(a):
Całość nawet specjalnie podłączałem do płytki stykowej by sztucznie podłączyć je do zasilania, niestety nie dało to oczekiwanych rezultatów.


Mi chodziło o programowe podciągnięcie tzw. pull-up.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2014, o 21:32 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3230
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

Mea culpa. Zapachniało mi Bascomem. ;-)

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2014, o 22:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Jak masz fizycznie podłączone przyciski ?

jeśli zwierają do masy to (jak kolega wyżej radzi)
załącz rezystor pull-up na pinach i w warunku "if" zanegować KEYDOWN

to tak na szybko

wrzuć schemat podłączenia będzie łatwiej pomóc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2014, o 01:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 maja 2013
Posty: 562
Lokalizacja: Bydgoszcz
Pomógł: 23

Ja bym może najpierw spróbował zapoznać z funkcjami od drgania przycisków i spróbował też program zrobić na taimerze, żeby zrezygnować z delay_ms.

I jak jeszcze mogę coś doradzić do płytka uniwersalna lutowana, niesety te stykowe czasem nie stykają albo stykają za bardzo

Może ten poradnik Cie ukierunkuje

http://mirekk36.blogspot.com/2012/10/drgania-stykow-to-bajki-wiec-jak-to.html



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2014, o 08:51 
Offline
Nowy

Dołączył(a): 20 lut 2014
Posty: 13
Pomógł: 0

Podaje makra z których korzystałem :
Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Układ jest podpięty na płytce stykowej więc takowy schemat póki co nie powstał. Przyciski naturalnie drugą stroną są podpięte do masy. Byłby kolega skłonny naprowadzić dlaczego nie można w tym przypadku korzystać z _delay_ms(); ? Dziękuje za zainteresowanie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2014, o 12:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 maja 2013
Posty: 562
Lokalizacja: Bydgoszcz
Pomógł: 23

Tu nie chodzi oto że nie można, oczywiście że będzie działać ale program można napisać z wykorzystaniem taimera by był nieblokujący się. Delay_ms zawiesza okresowo działanie/wykonywanie programu co za tym idzie całego procesora a ideą jest pisać program tak by był on własnie nieblokujący.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2014, o 15:05 
Offline
Nowy

Dołączył(a): 20 lut 2014
Posty: 13
Pomógł: 0

Rozumiem o co chodzi jednakże nie korzystam z żadnych przerwań, program ma działać krokowo w całej strukturze więc moim niedoświadczonym okiem nie widzę potrzeby stosowania tutaj timera. Korzystałem z tego w ramach ćwiczeń a jeżeli będzie potrzeba to tutaj również to zastosuje.
Chyba że miałoby w tym przypadku wpływ na niepoprawne działanie 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: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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