ATNEL tech-forum https://forum.atnel.pl/ |
|
Bascom - Dziwna zmienna N_op https://forum.atnel.pl/topic20875.html |
Strona 1 z 1 |
Autor: | Zbysio Z [ 16 cze 2018, o 20:51 ] |
Tytuł: | Bascom - Dziwna zmienna N_op |
Witam Mam dziwny przypadek w BASCOM'ie AVR. Są dwie zmienne Zz i N_op. Na zmiennej Zz wykonuje się dodawanie a zmienna N_op przyjmuje wartości 1 i 2 i to w przypadkowej kolejności. Zmiana nazwy N_op nie zmienia sytuacji. Co może być przyczyną? Bo już nie mam pomysłów jaka jest tego przyczyna. Sub Opcja_plus Incr Zz If Zz > 10 Then Zz = 1 Incr N_op If N_op > 10 Then N_op = 1 Locate 2 , 1 Lcd T_op(n_op) ; " " 'Wyświetlanie elementów tablicy F = Zz Shift F , Left , 4 F = F + N_op Portd = F : Waitms 500 : Portd = 0 ' To tylko do podglądu End Sub |
Autor: | grzeniu 73 [ 16 cze 2018, o 21:14 ] |
Tytuł: | Re: Bascom - Dziwna zmienna N_op |
język basic4gl Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. spróbuj tak. edit. chyba źle zrozumiałem one maja się dwie razem zwiększać ? |
Autor: | Zbysio Z [ 16 cze 2018, o 22:54 ] |
Tytuł: | Re: Bascom - Dziwna zmienna N_op |
Witam Dziękuję za szybką odpowiedź. Czyli wygląda na to że procedura IF nie może być w jednej linii ? Sprawa wygląda inaczej. Zmienna Zz nic nie robi. Jest tylko na próbę i działa normalnie tzn. zwiększa wartość. Natomiast ta N_op, mimo tych samych funkcji przybiera wartości 1 i 2 i to w różnych układach. Pomimo zwiększania przybiera wartość np. 1 a potem parę razy 2 i nie ma jakiegoś systemu. Jakby to były liczby przypadkowe. Nigdy nie jest większa np. 3 Port D służy tylko do podglądu wartości Zz i N_op. Zwiększanie stosów i ramki nie zmienia sytuacji. Co to może być. Czy zmienna o nazwie N_op ma jakieś specjalne znaczenie ? |
Autor: | grzeniu 73 [ 17 cze 2018, o 07:05 ] |
Tytuł: | Re: Bascom - Dziwna zmienna N_op |
Raczej nie ma. Wrzuc caly kod. Bedzie latwiej |
Autor: | Zbysio Z [ 17 cze 2018, o 18:22 ] |
Tytuł: | Re: Bascom - Dziwna zmienna N_op |
Witam. Cały kod nie ma tutaj znaczenia.Jest duży więc nie ma sensu go rozpatrywać. Wcześniej wszystko działało. Nie wiem w którym momencie przestało działać. Wspomniana zmienna odpowiada za wybór opcji. Ciekawostką jest dlaczego w jednej procedurze : dim Zz As Byte dim N_op As Byte ......... Incr Zz If Zz > 10 Then Zz = 1 Incr N_op If N_op > 10 Then N_op = 1 Zwiększanie zmiennej Zz przebiega prawidłowo tzn. przyjmuje wartości od 1 do 10, a zmienna N_op przyjmuje wartości od 1 do 2 i to w przypadkowej kolejności. Najczęściej jest 2 po kilku naciśnięciach klawisza wyskakuje 1 a potem znów 2. W symulatorze działa prawidłowo. I co można o tym sądzić ? |
Autor: | grzeniu 73 [ 18 cze 2018, o 16:03 ] |
Tytuł: | Re: Bascom - Dziwna zmienna N_op |
Sadze, że masz gdzieś babola w kodzie. I zastanów się gdyby Tobie ktoś takie pytanie zadał czy byłbyś w stanie mu cos doradzić po przeczytaniu dwóch linijek kodu. |
Autor: | Zbysio Z [ 18 cze 2018, o 16:54 ] |
Tytuł: | Re: Bascom - Dziwna zmienna N_op |
Witam. I tutaj masz rację, że mam babola. Znalazł się w obsłudze przerwania które tą zmienną zmieniało na jeden. Zamiast raz na 15 sekund to po każdym obiegu licznika. Co do całego kodu to i tak nie jest proste przeglądanie ponad 900 linii przez kogoś obcego. Sam przeglądałem go bardzo wiele razy a że obsługa przerwania jest na końcu programu więc nie skojarzyłem z tym działaniem. Nawet podejrzewałem jakiś błąd kompilatora. Dziękuję za odpowiedź. |
Autor: | grzeniu 73 [ 18 cze 2018, o 17:00 ] |
Tytuł: | Re: Bascom - Dziwna zmienna N_op |
Ja Cie rozumie o co Tobie chodzi. Ale tez sam bys pewnie dal taka sama odpowiedz To teraz pozytywnej dalszej pracy zycze. |
Autor: | Zbysio Z [ 18 cze 2018, o 17:24 ] |
Tytuł: | Re: Bascom - Dziwna zmienna N_op |
Dzięki i nawzajem. Na drugi raz bardziej się postaram. Ale tutaj już straciłem nadzieję nas rozwiązanie. |
Autor: | grzeniu 73 [ 18 cze 2018, o 20:38 ] |
Tytuł: | Re: Bascom - Dziwna zmienna N_op |
E tam. Czasem tez tak mam. Wtedy zostawiam projekt na dzień, dwa wracam do niego później i wszystko widzę zupełnie inaczej. |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |