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



Teraz jest 11 wrz 2025, o 09:50


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 31 lip 2014, o 23:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 lut 2013
Posty: 257
Lokalizacja: Racibórz
Pomógł: 0

Mam problem z wysyłaniem i odbieraniem danych poprzez moduł karty ethernetowej ENC28J60 na Atmegę 16 taktowaną kwarcem 16MHz.
pierwsza częśc opisana w BB dotycząca serwera działa mi dobrze ,natomiast z nadawaniem i odbieraniem ramek mam problem.Korzystam z programu Klient/serwer UDP zamieszczonego na płycie cd z BB i nie potrafię nic wysterować na mojej płytce testowej.Mam kilka pytań co do tego programu oraz do poprawności mojego kodu w c.
W programie Klient/serwer UDP jest tam takie okno adres IP urzadzenia czy tam mam wpisać adres IP z mojej atmegi? czyli 192,168,0,10 czy też może adres IP mojego laptopa?? 192,168,0,11 ?
Następna sprawa nie rozumiem tych numerów portów UDP
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Dlaczego 1200 i 22700 osobiście nie mam dostępu do parametrów mojego routera i niewiem czy tam mam to wpisać jak w przykładzie.

Następne pytanie jakie adresy powinienem wpisać poniżej??

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


Wpisałem tu adres Atmegi oraz swojego laptopa jako druga pozycja ale nie jestem pewien czy dobrze zrobiłem??
Następne pytanie dotyczące programu Klient/serwer UDP czy zapalanie i gaszenie diód led 1 i 2 jest skonfigurowane w tym programie i przydzielone do konkretnych wyjść czy też niema to znaczenia na jakich wyjściach mam diody LED w swoim projekcie?

Poniżej znajduje się mój plik main i proszę o korektę i pomoc bo poza serwerem nic mi nie działa na UDP

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sie 2014, o 03:50 
Offline
Moderator
Avatar użytkownika

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

mirek1968 napisał(a):
W programie Klient/serwer UDP jest tam takie okno adres IP urzadzenia czy tam mam wpisać adres IP z mojej atmegi?


No pewnie że adres procka.

mirek1968 napisał(a):
Następna sprawa nie rozumiem tych numerów portów UDP


Gdy działasz w sieci lokalnej (mam nadzieję) ... to po co konfigurować porty na routerze? nie trzeba ... Ja nie za bardzo rozumiem czego nie rozumiesz w tych portach jak mówisz? ot są to przykładowe porty strzelone z głowy. Jak chcesz możesz je zamienić na dowolne inne ale musisz pamiętać aby wtedy je wszędzie w programie też podmienić. Nie mniej jednak po co mieszać na początek ? Lepiej odpalić to tak jak jest bo na 100000% to działa - a jeśli nie to pewnie robisz jakiegoś babola ... ale może zaraz się coś wyjaśni.

mirek1968 napisał(a):
Następne pytanie jakie adresy powinienem wpisać poniżej??


I tu pewnie leży pies pogrzebany - bo przecież w Bluebooku opisuję ten kod dokładnie i do czego są jakie adresy .. ale już przypominam:

linia kodu:

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

mówi o tym, który adres w tej tablicy za co odpowiada, więc widać że pierwszy, te o indexie = 0 {ip_pc}, to adres naszego komputera gdzie masz odpalony program do testowania UDP, a drugi adres {ip_sterownik1} to jakiś np inny procek gdybyś testował ... ale jest on chyba nawet w programie nie używany ... pokazałem tylko że można w ten sposób dodać adresy kolejnych urządzeń bądź komputerów z którymi chcemy się kontaktować. Więc pierwszym adresem w tej tabeli:

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


powinien być koniecznie adres twojego komputera, a drugi ? nie ważne na razie jaki będzie

mirek1968 napisał(a):
Wpisałem tu adres Atmegi oraz swojego laptopa jako druga pozycja ale nie jestem pewien czy dobrze zrobiłem??


No to teraz już chyba widzisz, że niedobrze zrobiłeś (bo adres twojego kompa - lapka) powinien być jako pierwszy a drugi jest nieistotny w tym przykładzie programu

mirek1968 napisał(a):
Następne pytanie dotyczące programu Klient/serwer UDP czy zapalanie i gaszenie diód led 1 i 2 jest skonfigurowane w tym programie i przydzielone do konkretnych wyjść czy też niema to znaczenia na jakich wyjściach mam diody LED w swoim projekcie?


Programu na PC nie interesuje na jakich pinach masz diody panie kochany - to sobie ustalasz w programie w procku

mirek1968 napisał(a):
Poniżej znajduje się mój plik main i proszę o korektę i pomoc bo poza serwerem nic mi nie działa na UDP


Programu na razie nie mam czasu analizować - proponuję NAJPIERW zawsze odpal to tak jak z książki - żeby zobaczyć że rusza i działa - a później dopiero modyfikuj kod ... bo tak, to sam sobie dodatkowe problemy robisz gdy namodyfikujesz kod i nic ci nie działa. Mówię tu o modyfikacjach poza tymi konfiguracyjnymi odnośnie adresów IP

_________________
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: 1 sie 2014, o 10:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 lut 2013
Posty: 257
Lokalizacja: Racibórz
Pomógł: 0

Poprawiłem te numery IP zgodnie z uwagami jakie napisałeś ale nadal jak próbuję np. wysłać tekst ,czy zapalić LED to nie działa mi nic.
Diody led oraz przyciski mam podłączone jak na rysunku poniżej

ObrazekObrazek

Na każde kliknięcie w danym oknie w programie Klient/server UDP reaguje mi dioda na karcie sieciowej ENC ale brak reakcji na płytce testowej Atmega16.
Cały kod main.c dokładnie taki sam jak w BB z moimi modyfikacjami dotyczącymi wejść przycisków oraz wyjść na LED-y
oraz mac adresu i IP poniżej.

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sie 2014, o 11:32 
Offline
Moderator
Avatar użytkownika

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

Być może Firewall windowsa zablokował program na PC ?

_________________
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: 1 sie 2014, o 12:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 lut 2013
Posty: 257
Lokalizacja: Racibórz
Pomógł: 0

Sprawdzałem firewall dodał ten program do wyjątku i nie blokuje go.
Zastanawiam się nad jedną sprawą jeśli Twój program serwera działał u mnie bardzo dobrze to czym to może być spowodowane że teraz mam problem.co prawda program serwera testowałem na procku Atmega328P a teraz klienta UDP testuję na Atmedze 16 taktowanym 16Mhz.
Zastanawiam się także nad wielkością bufora ramki
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Czy u mnie nie powinno być mniej?,a jeśli tak to ile być zaproponował?

No i jeszcze jedna spawa ze względu na to że mój procesor jest tatowany zewnętrznym kwarcem 16MHz to musiałem zmienić OCR
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Poniżej podaje ustawienia fusebitów do sprawdzenia czy na pewno się nie pomyliłem gdzieś.

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sie 2014, o 12:26 
Offline
Moderator
Avatar użytkownika

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

No ATmega16 ma o połowę mniej pamięci RAM .... więc sprawdź ile zostaje ci wolnego po kompilacji ... jeśli zajętość RAM wynosi max ok 90% to może zostać taki bufor jak jest

zmieniłeś też jak widzę MAC address - naprawdę nie wiem po co ? ... widzisz tak to jest .... gdy ktoś ma kłopoty z pierwszym odpaleniem kodu to zawsze mówię - sprawdź na oryginale ... zmień tylko swoje adresy IP .... i często każdy tak jak ty odpowiada - że "NO sprawdzam na oryginale" a później się okazuje że .... a zmieniłem tylko to i siamto ale wg mnie to nie powinno mieć znaczenia. To wiesz - tak to można to uruchamiać miesiącami .... i w końcu powiedzieć że kod z książki nie działa :(

weź więc nie kombinuj - odpal kod z książki , ustaw tylko swoje adresy IP i wtedy jestem w stanie coś pomóc ...

Na kombinacje przyjdzie czas później i zobaczysz że wszystkie ci wyjdą ok ?

ty na razie masz jakiś mega poważny problem bo np te adres w tablicy kilku adresów jak się źle wpisze to co najwyżej nie ma komunikacji zwrotnej po UDP z procka do programu na PC ... a poza tym WSZYSTKO MUSI DZIAŁAĆ

powiedz mi czy jak odpalasz program na PC to zapala ci się takie jasno niebieskie światełko w lewym rogu górnym i masz napisane w statusie, że serwer UDP jest aktywny ?

_________________
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: 1 sie 2014, o 13:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 lut 2013
Posty: 257
Lokalizacja: Racibórz
Pomógł: 0

Wina leżała po mojej stronie a konkretnie problem był w tym że porty PB4-7 na mojej płytce mam na stałe przypiete także do LCD HD44780 a przecież są to porty używane do komunikacji.Zablokowałem na razie LCD z zakomentowałem go w programie.
Teraz diody LED mogę załączać i wyłanczać z programu Klient/serwer /UDP i działa mi to dobrze,działa mi także komunikacja zwrotna od płytki testowej do laptopa tzn przyciski dają mi tekst amka <-- [ SuperDebounce klawsz nr: 128 ]
ramka <-- [ SuperDebounce klawsz nr: 64 ] w zależności który wcisna. :-) :-)
Czyli wszystko było by OK,mam tylko pytanie dlaczego po odpaleniu programu Klient/serwer /UDP mam już na starcie aktywne okienka zapalenia LED-ów? (w tym momencie diody na płytce nie świeca jeszcze)
tak jak poniżej na fotce.Co prawda jak je odznaczę i ponownie zaznaczę to zaświecaja się i gasną wtedy ledy prawidłowo ,czy tak ma ten program czy też jest to związane z czymś innym?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sie 2014, o 13:11 
Offline
Moderator
Avatar użytkownika

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

Bo przy starcie nie jest sprawdzany ich stan po prostu .... to tylko program demonstracyjny - a nie jakiś sterownik, który jest gotowy na tzw KAŻDĄ sytuację ;)

cieszę się że ruszyło

_________________
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: 1 sie 2014, o 13:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 lut 2013
Posty: 257
Lokalizacja: Racibórz
Pomógł: 0

Osobiście uważam że temat komunikacji serwera i klienta po UDP jest dosyć trudny jak dla mnie do zrozumienia tym bardziej cieszę się że to działa:-).
Dzięki Twojej książce BB ,dołączonemu programowi na cd i pomocy ruszyło:-)
Przyznam się szczerze że żałuję troszkę że nie kupiłem całego kompletu sprzedawanego w Twoim sklepie (tzn. książki +PCB).
Kupując książkę BB posiadałem już inną płytkę testową ,ale nie wszystko na niej jest przemyślane do końca o czym się co jakiś czas przekonuję (np w tym teraz przypadku są współdzielone porty PORTB dla SPI oraz LCD).
Ale ma to malutki plusik take bardziej zmuszony jestem do myślenia bo przeważnie nic mi nie działa na samym starcie (to żart:-)).
zrobiłem sobie taki moduł zasilająco-konwertujący na układzie konwertera sygnałów 74LVC125 oraz stabilizatorach MC7805 oraz LM1117-3,3V i całość zasilam zasilaczem 12V DC skutkiem tego jest niezły grzejnik na stabilizatorze 7805 pomimo radiatora:-)
Pewnie muszę sobie kupić jakiś zasilacz np.7,5V zamiast 12V żeby nie było takiej wielkiej temperatury.
Mam jeszcze pytanko dotyczące własnego programu podobnego do Twojego "Klient/serwer/UDP" czy stworzenie podobnego programu dostosowanego do własnych potrzeb jest skomplikowane?,a może jest coś podobnego dostępne w sieci?
Przyznam się że nie szukałem jeszcze dokładnie,ale fajnie by było mieć taki program który by mógł sterować czymś w domu:-),super sprawa naprawdę:-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sie 2014, o 14:04 
Offline
Moderator
Avatar użytkownika

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

mirek1968 napisał(a):
Mam jeszcze pytanko dotyczące własnego programu podobnego do Twojego "Klient/serwer/UDP" czy stworzenie podobnego programu dostosowanego do własnych potrzeb jest skomplikowane?,a może jest coś podobnego dostępne w sieci?


Nawet na naszym forum nie sprawdziłeś panie kochany ;) ... a nasi koledzy już podawali różne przykłady i kursy w C#, w tym także z tego co pamiętam było o komunikacji UDP

ja ten mój program pisałem w Delphi więc jego źródła i tak mało dadzą komukolwiek i będą poza zasięgiem ... chociaż na życzenie, wysyłam źródła tego programu ...

ale uważam, że na dzisiaj zdecydowanie lepiej robić to sobie i uczyć się programować w C# bo i środowisko od MS masz za darmo

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