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

Składnia: [ Pobierz ] [ Ukryj ]
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/