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 17 maja 2025, o 16:04


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 19 ] 
    Autor Wiadomość
    PostNapisane: 21 wrz 2012, o 19:37 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 paź 2011
    Posty: 108
    Pomógł: 0

    Cały wieczór siedzę i nie mam już pomysłu. co jest nie tak :evil:
    Otóż uruchomiłem program Mirka z rozdziału o UDP. O ile sama komunikacja działa bez zarzutu, to mam problem z oprogramowaniem klawiszy.

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


    Wiadomo, żeby wywołać funkcję mk_send_udp , musi być wciśnięty klawisz. Otóż program wchodzi do funcji, pomimo tego , że żaden klawisz nie jest wciśnięty. Nic nie zmieniałem w oryginalnym programie, oprócz adresów i funkcji mk_send_udp.

    ciało funkcji superdebounce:

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

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 19:56 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27396
    Lokalizacja: Szczecin
    Pomógł: 1043

    Taaaaak, ciekawi mnie tylko czy masz podciągnięte linie klawiszy do VCC ?

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 20:04 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 paź 2011
    Posty: 108
    Pomógł: 0

    No tak jak napisałeś w programie , tak jest ;)

    Oczywiście, że podciągnięte

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

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 20:05 
    Offline
    Użytkownik

    Dołączył(a): 29 mar 2012
    Posty: 595
    Lokalizacja: Jaworzno
    Pomógł: 39

    Nie napisałeś czy działasz na ATB z ATNELa. A co z JTAGiem na PORTC(fusebit)?

    _________________
    Pozdrawiam
    PP



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 20:12 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27396
    Lokalizacja: Szczecin
    Pomógł: 1043

    Posłuchaj, wprawdzie akurat ta wersja Superdebounce jest lekko spaczona ale to nie jest akurat powodem tego twojego kłopotu, to jednak na przyszłość używaj tej poprawionej z projektu:

    17_SuperDebounce

    spójrz jak w niej wygląda deklaracja funkcji:

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


    widzisz ten pierwszy dodatkowy argument uint8_t * key_state ??? zajrzyj do tej lekcji i zobacz jak go się używa, trzeba powołać oddzielne zmienne jedno bajtowe na każdy klawisz. .... ale jak mówię w tym konkretnym przypadku nie to jest powodem....

    musiałbyś to jakoś sprawdzić bo to co opisujesz mówi o tym jakbyś miał nie podciągnięte linie do VCC. To że masz to w programie zrobione to jedno ... ale czy dobrze np podłączyłeś ? do odpowiednich pinów ? czy nie ma tam coś innego podłączonego ?

    na czym to wszystko testujesz ?

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

    a jak dasz zamiast wywołań tych funkcji NULL, NULL?

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 20:20 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    Skoro masz taka linię KL_PORT |= KL1|KL2;
    to dlaczego używasz dalej w kodzie &PINC i (1<<PC2) zamiast &KL_PIN i KL2 w takim przypadku łatwo o pomyłkę. Zmienisz zdefiniowane symbole a dalej w kodzie masz nie zmienione linie przycisków.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 20:21 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 paź 2011
    Posty: 108
    Pomógł: 0

    Rozwiązałem problem, ale dalej nie wiem co było przyczyną.
    Pomogło przepięcie klawiszy na PC0-PC1. Program wrzucony tak jak był na płycie, do zestawu podpięta karta sieciowa, by Atnel. Chętnie bym się dowiedział co jest problemem, coby na przyszłość czasu nie marnować :/

    Druga sprawa, to:

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


    Po wykonaniu tej funkcji, powinienna ramka się pokazać w klient/serwer UDP na komputerze ?
    Bo po wykonaniu funkcji, nie pokazuje się nic i nie wiem, czy zostala wysłana.

    Krauser napisał(a):
    Skoro masz taka linię KL_PORT |= KL1|KL2;
    to dlaczego używasz dalej w kodzie &PINC i (1<<PC2) zamiast &KL_PIN i KL2 w takim przypadku łatwo o pomyłkę. Zmienisz zdefiniowane symbole a dalej w kodzie masz nie zmienione linie przycisków.


    Jeszcze nic nie zmieniałem w programie, narazie chcę go uruchomić i dopiero zacząć przygodę z UDP ;)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 20:29 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27396
    Lokalizacja: Szczecin
    Pomógł: 1043

    Wiesz co? sprawdź ty najpierw czy ci w ogóle działa połączenie sieciowe ? Udaje ci się np pingować kartę sieciową ?

    a co było przyczyną to nie wiem ... chociaż wygląda to tak jakbyś robił coś totalnie źle - bo akurat PC0 i PC1 są podciągnięte rezystorami 4,7K do VCC ponieważ są to przy okazji linie SDA i SCL od I2C....

    więc albo podłączałeś się nie do tych pinów albo nie wiem co

    sprawdź najpierw czy masz w ogóle pinga do karty

    czy w programie na PC cokolwiek ci się pokazuje ? bo jeśli nic - to pewnie masz zły adres IP ustawiony

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 20:36 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 paź 2011
    Posty: 108
    Pomógł: 0

    Mam, oczywiście. Przez UDP bez problemu steruję diodami i wysyłam tekst.
    Teraz po wciśnięciu klawisza, wywołuje funkcję prawidłowo, tylko w monitorze ramek nic się nie pokazuje...
    Raczej nie mogłem nic źle podłączyć, podłączony jest LCD, przyciski i FT232, nic więcej.
    Na szybkiego podłączyłem drugi zestaw i odbiera ramki. A na jakim porcie nasłuchuje klient PC ?

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 21:07 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27396
    Lokalizacja: Szczecin
    Pomógł: 1043

    Klient PC hmmm żebym ja tak teraz z pamięci - pamiętał że tak powiem ;) ale przecież tam się ustawia porty. Domyślnie powinno być tak jak jest w programie.

    Jaki masz adres IP karty? jaki masz adres IP komputera? jak się łączysz z kompem ? bezpośrednio? czy jakiś switch ?

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 21:12 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 paź 2011
    Posty: 108
    Pomógł: 0

    Bezpośrednio, wszystko mi ładnie chodzi, poza tym podglądem ramek wysłanych przez send_udp().
    W programie się ustawia tylko adres i porty urządzenia, natomiast na jaki port ja mam wysyłać ramkę ze sterownika ?
    Z kodu programu wnioskuję, że 21000, ale brak efektu.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 21:37 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27396
    Lokalizacja: Szczecin
    Pomógł: 1043

    sprawdź czy nie masz jakiejś blokady portów w windows albo antywirusa który blokuje porty przychodzące itp

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 21:46 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 paź 2011
    Posty: 108
    Pomógł: 0

    Nie, to nie to, bo przeciez cala pozostala komunikacja UDP smiga.
    Zauważyłem inną ciekawą rzecz, po wysłaniu ramki przez tą funkcję, mruga dioda na karcie z zestawu, ale komp nie odbiera żadnego bajtu.
    Adresy są w tablicy
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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


    czyli ,ze podstawi adres z pierwszej tablicy ?

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 21:57 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27396
    Lokalizacja: Szczecin
    Pomógł: 1043

    W książce zdaje się jest to opisane - no chyba musi tu być adres twojego komputera ... jest ? (ja tak wyrwany z kontekstu to nie pamiętam dokładnie co i jak)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 22:05 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 paź 2011
    Posty: 108
    Pomógł: 0

    Tak, mojego . Już mnie nauczyłeś wcześniej, żeby sprawy oczywiste zbadać zanim zacznę pytać ;)
    Pobiera prawidłowo adres, no cóż, w tym momencie się poddaję, będę analizował ramki na drugim zestawie. Tobie Mirku działało wszystko ? Zaznaczam, że chodzi wszystko z wyjątkiem tej jednej funkcji. Program jest żywcem wrzucony z płyty.Diody mrugają, tekst przechodzi, krawaty wiąże, usówa ciąże, ale przez send_udp nie mogę przesłac ramki do kompa :evil:

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2012, o 22:35 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27396
    Lokalizacja: Szczecin
    Pomógł: 1043

    Wiesz? Jakby mi nie działało to przykład na pewno nie pojawiłby się na dvd to po pierwsze. A po drugie to tu na tym forum jak pamietam ktoś miał podobny problem i udało mu się go rozwiązać . Spróbuj poszukać. No i po trzecie to przypomnij mi się za kilka dni a może za tydzień jak wrocę do firmy i będę miał zestaw pod ręką to sprawdzę twój kod ale musisz go spakować do Zipa i mi na maila przesłać z przypomnieniem to sprawdzę ok? biuro@atnel.pl

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 wrz 2012, o 13:11 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 paź 2011
    Posty: 108
    Pomógł: 0

    UDP między sterownikami pracuje normalnie, podgląd ramek zrobiłem na LCD, więc już nie potrzebuję PC.
    A tak z innej beczki, do połączenia ad-hoc 2 sterowników nie jest potrzebna brama. Da się użyć tego stosu do takiej pracy ?

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 wrz 2012, o 21:55 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27396
    Lokalizacja: Szczecin
    Pomógł: 1043

    No ixxl właśnie wpadł mi w ręce zestaw ATB, a że miałem pod ręką ATB-Ethernet to podłączyłem i sprawdziłem

    wszystko działa tzn te klawisze także tylko :

    1. najpierw ustaw poprawny adres swojej karty sieciowej w tym miejscu:

    Obrazek


    2. ustaw koniecznie adres IP swojego komputera w pierwszym elemencie tej tablicy jak niżej na obrazku:

    Obrazek

    a w programie na PC patrz na tą ramkę na dole - zobacz jak się objawia wciskanie klawiszy ;)

    Obrazek

    ------------------------ [ Dodano po: 2 minutach ]

    ixxl napisał(a):
    A tak z innej beczki, do połączenia ad-hoc 2 sterowników nie jest potrzebna brama. Da się użyć tego stosu do takiej pracy ?


    Tak da się ;) brama jest wtedy do niczego nie potrzebna.

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 wrz 2012, o 07:55 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 paź 2011
    Posty: 108
    Pomógł: 0

    Dzięki Mirku za odpowiedź ;) W moim przypadku brak komunikacji do PC był spowodowany tym właśnie, że nie ustawiałem bramy, bo oda urządzenia były spięte bezpośrednio. Po połączeniu przez router, bez problemu przesyłam już dane w obie strony.
    Mógłbyś trochę rozwinąć "da się" ;) ? Brak bramy muszę gdzieś w konfiguracji stosu zmienić ?

    _________________
    sig off ;(



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Bing [Bot] i 9 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