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 1 maja 2025, o 03:54


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
    Autor Wiadomość
    PostNapisane: 6 gru 2017, o 20:02 
    Offline
    Użytkownik

    Dołączył(a): 20 lut 2013
    Posty: 166
    Pomógł: 0

    Witam. Taka sytuacja dziwna wynikła (wcześniej tego jakoś nie zauważyłem).

    W Delphi używam jak w poradnikach Mirka: comport, ComDataPacket i MkUsbDetector.

    Mianowicie wysyłałam sobie do PC przez FT232 z atmegi dane w postaci stringów coś takiego --> wartość1,wartość2\r\n czyli np.

    znak,15
    liczba,25132
    kod,1
    wartosc,128

    Okres wysyłania tych stringów jest różny tzn. kolejność wysyłania nie jest stała (najlepiej zobaczyć -> zrzut z konsoli):

    znak,15
    liczba,25132
    kod,1
    wartosc,128
    znak,15
    liczba,25132
    kod,1
    wartosc,128
    liczba,25132
    znak,15
    wartosc,128
    kod,1
    liczba,25132
    znak,15
    wartosc,128
    kod,1

    To przecież nie powinno mieć żadnego znaczenia bo i tak ComDataPacket analizuje linia po linii, a sytuacja jest taka że niby dane są odbierane prawidłowo, ale z czasem jakby się program w delphi gubił i przestaje odbierać te dane. Podłączony moduł nie przestaje nadawać bo w putty dane cały czas śmigają bez zwiechy nie zauważyłem też żadnych przekłamań

    W ComDataPacket mam tak napisane w zdarzeniu odbiorczym "OnPacket", czyli mam podgląd w Memo1 na odbierane dane i tak jak pisałem wyżej co jakiś czas (różnie to jest, tutaj jakiejś zależności czasowej niema) przestaje dodawać nowe linie do Memo i aktualizować te odbierane wartości. Tak jakby się to zdarzenie wieszało :?:

    Jak wyłączę i włączę ponowni aplikacje to znowu działa jakiś czas dobrze.

    PS. Próbowałem zmieniać prędkość transmisji od 9600 do 115200 zero poprawy. Kwarc mam przyjazny czyli 14 745 600 Hz

    Ma ktoś jakiś pomysł gdzie leży błąd :?: :(

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


    PS.
    Edit:

    Zmieniłem żeby co powiedzmy 500ms dane z atmegi wysyłały się dokładnie w takiej kolejności jak wyżej czyli np.

    znak,15
    liczba,25132
    kod,1
    wartosc,128

    Ale efekt jest taki sam ... kilka razy takie "pakiet" przejdzie i następuje zwiecha :?

    -- wczoraj, o 20:02 --

    Dopisałem jeszcze tej procedury taki "else"

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


    Czyli powinno to wyłapać jeśli przyjdzie string nie spełniając żadnego z warunków ... ale przy zawieszeniu dalej się ten else nie wykonuje ... czy wynika że nie w tym problem że przychodzą złe dane :( ... Ma ktoś pomysł jak temu zawieszaniu zaradzić ?

    Próbowałem też ze zdarzeniem cPortu OnError i OnBreak żeby wyświetliło na statusbarze ale też bez efektu, czyli tu też błędu nie wywala :/ Wygląda na to że port jest ciągle otwarty i się błędy nie pojawiają tylko w ComDataPacket coś się chrzani :/

    PS. Zauważyłem że po tym błędzie dioda sygnalizująca nadawanie przy FT232 przestaje migać, czyli przestaje wysyłać bo ComDataPacket go olewa ?

    Za to nadawanie działa cały czas nawet gdy przestaje odbierać i dane do modułu z atmegą przychodzą na 100% poprawnie ...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 maja 2018, o 10:33 
    Offline
    Użytkownik

    Dołączył(a): 02 cze 2014
    Posty: 123
    Pomógł: 0

    Daj mi na PW cały kod z Unita w notatniku wklejony to popatrzę jak to wygląda

    _________________
    http://mojekonstrukcje.pl/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 maja 2018, o 14:49 
    Offline
    Użytkownik

    Dołączył(a): 15 gru 2013
    Posty: 213
    Pomógł: 5

    Nie wiem czy ci to coś pomoże ale już raz ktoś miał taki podobny problem i podpowiedziałem żeby zgodnie z tym co Mirek w jednym z filmików mówi ustawić w komporcie w ustawieniach jeden parametr na zero bo inaczej komport przestaje po pewnym czasie działać.Sorki że nie mogę teraz sprecyzować o jakie ustawienie chodzi ale nie mam komputera przed sobą . Mogę wieczorem ci podpowiedzieć. O jakie ustawienie chodzi.


    Ok już piszę o co mi chodziło mianowicie o to żeby w ustawieniach komport TIME OUT ustawić na zero.



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

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