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



Teraz jest 27 sty 2026, o 20:41


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 29 kwi 2016, o 22:29 
Offline
Nowy

Dołączył(a): 07 gru 2015
Posty: 13
Pomógł: 0

Witam,
Z problemem borykam się drugi dzień i kompletnie nie pojmuję jakie są jego przyczyny.

No więc na początku opiszę, co chcę aby program robił. Ma być to swego rodzaju czytnik haseł. Program początkowo wykonuje pomiar, który jest przekształcany na wartość z zakresu od 0 do 9, a później ma przypisać do numeru tablicy "Table" odpowiednią wartość w postaci znaku char, które są zawarte w tablicy "Values". Następnie użytkownik, jeśli wpisze poprawne hasło, program ma wyświetlić napis "hasło poprawne". Tutaj pojawia się problem ponieważ tekst ten wyświetla się zanim w ogóle zostanie wywołana funkcja, która ma w sobie instrukcję tegoż wyświetlenia tekstu.

Procesor: ATmega88-20PU
Taktowanie: 8MHz


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



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


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


Dodam jeszcze, że zanim w pętli while w pliku main.c napisałem "LCD_WriteText("");" na wyświetlaczu pojawiał się "krzaczek", który znikał on po skomentowaniu funkcji "ASCRIPTION_VALUE();" i "SERVICE_SWITCH();", podejrzewam, że właśnie tam należy szukać problemu .


Obecnie efekt programu wygląda tak:
Obrazek


Z góry dziękuję za każdą odpowiedź i przepraszam jeśli coś będzie nie zrozumiałe.



Ostatnio edytowano 30 kwi 2016, o 10:10 przez Karbos, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 kwi 2016, o 22:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

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

...albo wywal to całkowicie - chyba że chcesz wiedzieć co robisz; kompilator wie ;)
Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 kwi 2016, o 22:54 
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

Kod źle wklejony.

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 kwi 2016, o 09:54 
Offline
Nowy

Dołączył(a): 07 gru 2015
Posty: 13
Pomógł: 0

kicajek napisał(a):
Witam
Spróbuj z nawiasami:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

...albo wywal to całkowicie - chyba że chcesz wiedzieć co robisz; kompilator wie ;)
Pozdr.



Niestety to w żaden sposób nie pomogło, mimo braku wywołania funkcji VERIFICATION_PIN dalej wyświetla na ekranie LCD_WriteText("haslo poprawne");

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

Jaglarz napisał(a):
Kod źle wklejony.



Głupio w ten sposób się usprawiedliwiać, ale wciąż pozostaję przeciętnym początkującym, mógłbyś mi wyjaśnić, dlaczego według ciebie źle wkleiłem kod źródłowy?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 kwi 2016, o 10:00 
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

Rozumiem że ciężko się zaznajomić? topic14999.html

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 kwi 2016, o 10:11 
Offline
Nowy

Dołączył(a): 07 gru 2015
Posty: 13
Pomógł: 0

Jaglarz napisał(a):
Rozumiem że ciężko się zaznajomić? topic14999.html


Racja, nie było to trudne :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 kwi 2016, o 15:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Cytuj:
Niestety to w żaden sposób nie pomogło, mimo braku wywołania funkcji VERIFICATION_PIN dalej wyświetla na ekranie LCD_WriteText("haslo poprawne");
Cudów nie ma. Albo nie zapisałeś kodu przed kompilacją lub nie skompilował Ci się poprawnie i wgrałeś starego hex-a (albo tez się nie wgrał nowy a myślisz, że tak).

Jest taka wartość dostarczana przez kompilator gcc możliwa do wykorzystaniu, by mieć pewność że korzystamy na pewno z najnowszego wsadu. Należy zdefiniować sobie stałą (lub zmienną) np:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

i ją wyświetlać na początku startu programu.


Co do działania programu, to wrzuć na początek wyświetlanie w funkcji SERVICE_SWITCH() wartości portu B i zobacz czy poprawnie Ci reaguje na naciskane przyciski.

--
Pozdrawiam,
Robert



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

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