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



Teraz jest 6 kwi 2026, o 17:57


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 4 kwi 2013, o 21:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lip 2012
Posty: 306
Pomógł: 0

Witam.
Troszkę robię mój program dzięki waszej pomocy lecz coś musiałem popsuć.
Wcześniej obsługa klawiszy działała bez problemu. I nadal działa, Ponieważ wywaliłem wszystko i zostawiłem obsługę klawiszy i działa jak ma, czyli nie ważne jak długo trzymam klawisz na chwile pojawia się tylko informacja o wciśniętym sygnale ale w moim menu to już nie dział. Przytrzymam klawisz to skacze po całym menu. Próbowałem coś sam se poradzić z tym ale, mi nie wychodzi.

tak wygląda program:
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: 4 kwi 2013, o 22:17 
Offline
Moderator
Avatar użytkownika

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

Antystatyczny napisał(a):
... ale przy takim szkielecie softu jedynie Ty wiesz, co się w nim dzieje... ....


No ja raczej w to bardzo wątpię - zresztą widać po pytaniach .... powiedziałbym nawet panie kolego jeżyk-1 - że w związku z Bluebookiem i tym forum, nawet niedopuszczalne jest wstawianie "takiego czegoś" na forum do analizy ... :( bo to powiedziałbym - nawet brak szacunku dla pytająych, którzy starają się działać wg zasad dobrego programowania. Więc proszę o poprawę tego kodu albo w celu zadania pytania zaprezentowanie tylko wybranego fragmentu - kilku linijek które sprawiają ci kłopot.

_________________
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: 4 kwi 2013, o 22:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lip 2012
Posty: 306
Pomógł: 0

Ok to zabieram się za podzielenie tego kodu tak jak proponujecie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 kwi 2013, o 22:27 
Offline
Moderator
Avatar użytkownika

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

Jeżyk-1 napisał(a):
Ok to zabieram się za podzielenie tego kodu tak jak proponujecie.


a jak będziesz miał po drodze jakieś pytania co do podziału to śmiało wal jak w dym - bo to WARTO jak najszybciej opanować ... to podstawa podstaw o której zwykle nie przeczytasz w żadnym kursie C no bo to taka podstawa, że nikomu nie chce się tego opisywać - no i tak koło się zamyka ;) ... dlatego zawziąłem się i w Bluebooku to opisałem od podszewki i z przykładami ładnymi w tabelkach nawet

_________________
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: 5 kwi 2013, o 09:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lip 2012
Posty: 306
Pomógł: 0

A czy funkcje przerywań też należy umieścić w osobnym pliku ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2013, o 11:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Jak ci jest wygodniej ....... ważne żeby podział był spójny i logiczny dla ciebie ;)

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

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

Zastanów się nad uzyciem struktur bo masz ogrom pojedynczych zmiennych w których sie czlowiek może pogubić przykładem mogą być np klawisze ;)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

Oczywiście jest to tylko propozycja z której możesz skorzystać bądź nie ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2013, o 12:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lip 2012
Posty: 306
Pomógł: 0

Malutki_27 napisał(a):
Jak ci jest wygodniej ....... ważne żeby podział był spójny i logiczny dla ciebie ;)

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

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



Nie bardzo wiem o co chodzi z tym znakiem :(
Malutki_27 napisał(a):
Zastanów się nad uzyciem struktur bo masz ogrom pojedynczych zmiennych w których sie czlowiek może pogubić przykładem mogą być np klawisze ;)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

Oczywiście jest to tylko propozycja z której możesz skorzystać bądź nie ;)


Pewnie dużo lepiej to wygląda od tego co jest teraz. Ale ta funkcja obsługi klawiszy co jest teraz działa dopóki nie zwiększyłem fusów na 8Mhz:(
Kod mam skrócony do takiej postać aktualnie :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Jest tu sama obsługa Klawiatury i wyświetlanie na LCD informacji o wciśniętym przycisku. To co jest zbędne to usunąłem by nie zaciemniać kodu.
I program zachowuje się tak że co 4s pojawia się mignięcie jak by przycisk był wciśnięty. A wcześniej było tak że raz wcieknąłem przycisk i tylko raz mignął.
Zmieniłem preskaler ADC z 8 na 64 żeby było tak jak wcześniej przy 1MHz ale to nic nie dało :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2013, o 13:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lip 2012
Posty: 306
Pomógł: 0

Dodatkowa zauważyłem że teraz 2 ostatnie klawisze nie działają. Zastosowałem opóźnieniu _delay_ms(200) by zobaczyć co się dzieje w zmiennej ADC_pomiar i dosyć duże wahania są :( Jak dobrze widzę to bez wciśniętego przycisku waha się między 920 a 1023 :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2013, o 22:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lut 2013
Posty: 223
Zbananowany użytkownik

Pomógł: 21

Jeżyk-1 napisał(a):
Malutki_27 napisał(a):
Jak ci jest wygodniej ....... ważne żeby podział był spójny i logiczny dla ciebie ;)

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

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



Nie bardzo wiem o co chodzi z tym znakiem :(


Chodzi o to, że powinieneś wykonywać tutaj AND logiczny, a nie bitowy. Tutaj to będzie działać, ale 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.

nie spełni się nigdy ;)

_________________
Nie pisz komentarzy - dobry kod komentuje się sam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2013, o 22:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lip 2012
Posty: 306
Pomógł: 0

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

?
A nie tak jak było wcześniej z jednym (AND) &



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2013, o 22:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Powinno być dokładnie jak teraz napisałeś :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 kwi 2013, o 06:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lip 2012
Posty: 306
Pomógł: 0

Ok dzięki ze informację. Chyba odnalazłem przyczynę nie działania mojej klawiatury. Po zmianie częstotliwości taktowania uP z 1MHz i preskaler równy 8, na 8MHz to zwiększyłem preskaler do 64 by osiągnąć taką samą wartość po podzieleniu F_CPU/preskaler czyli 125000. Lecz efekt by taki że pomiar miał duże wahania i był nie dokładny:(
Coś mnie naszło żeby sprawdzić w drugą stronę i dałem preskaler równy 2 i to pomogło. Pomiar stał się stabilny (na wyświetlaczu już się nie wahał z tak dużymi zakresami) i pozycje po menu już nie skaczą tylko jedno przyciśnięcie klawisza wywołuje jedną operację :)



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