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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 3 kwi 2025, o 22:33


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
    Autor Wiadomość
    PostNapisane: 16 cze 2018, o 20:51 
    Offline
    Nowy

    Dołączył(a): 04 kwi 2018
    Posty: 5
    Pomógł: 0

    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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 cze 2018, o 21:14 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    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ć ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 cze 2018, o 22:54 
    Offline
    Nowy

    Dołączył(a): 04 kwi 2018
    Posty: 5
    Pomógł: 0

    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 ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 cze 2018, o 07:05 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    Raczej nie ma. Wrzuc caly kod. Bedzie latwiej



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 cze 2018, o 18:22 
    Offline
    Nowy

    Dołączył(a): 04 kwi 2018
    Posty: 5
    Pomógł: 0

    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ć ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 cze 2018, o 16:03 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    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.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 cze 2018, o 16:54 
    Offline
    Nowy

    Dołączył(a): 04 kwi 2018
    Posty: 5
    Pomógł: 0

    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ź.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 cze 2018, o 17:00 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    Ja Cie rozumie o co Tobie chodzi. Ale tez sam bys pewnie dal taka sama odpowiedz :) To teraz pozytywnej dalszej pracy zycze.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 cze 2018, o 17:24 
    Offline
    Nowy

    Dołączył(a): 04 kwi 2018
    Posty: 5
    Pomógł: 0

    Dzięki i nawzajem. Na drugi raz bardziej się postaram. Ale tutaj już straciłem nadzieję nas rozwiązanie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 cze 2018, o 20:38 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    E tam. Czasem tez tak mam. Wtedy zostawiam projekt na dzień, dwa wracam do niego później i wszystko widzę zupełnie inaczej.



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