RTV forum PL | NewsGroups PL

Jak rozpocząć wysyłanie danych przez Ethernet z ENC28J60 i STM32F103RBT6?

Jak zacząć ENC28J60 i STM32F103RBT6 ?

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak rozpocząć wysyłanie danych przez Ethernet z ENC28J60 i STM32F103RBT6?

Goto page Previous  1, 2, 3  Next

Marek
Guest

Sat Nov 01, 2014 9:59 am   



On Sat, 01 Nov 2014 09:15:32 +0100, Atlantis <marekw1986NOSPAM@wp.pl>
wrote:
Quote:
W gruncie rzeczy od strony programowej potrzebujesz dwóch rzeczy,
żeby
komunikować się ze światem za pomocą ENC28J60:

Ale po co mu encj jak ma stma z mac (już ktoś pisał). Po drugie nie
wiem czemu upiera się na ethernet i kable skoro są banalne gotowe
moduły z wifi typu esp8266 za 20pln, do wymiany danych z czujnikami
(i to bezprzewodowo!) wystarczające. Nie trzeba studiować etheretów,
stosów tcp itd.

--
Marek

Atlantis
Guest

Sat Nov 01, 2014 10:11 am   



W dniu 2014-11-01 09:59, Marek pisze:

Quote:
Ale po co mu encj jak ma stma z mac (już ktoś pisał).

Może dlatego, że to tego MAC trzeba jeszcze podpiąć PHY, a to wymaga
zastosowania kilkunastu linii sygnałowych. Użycie ENC28J60 może się
okazać prostsze dla początkującego, przynajmniej od strony sprzętowej.


Quote:
Po drugie nie wiem czemu upiera się na ethernet i kable skoro są
banalne gotowe moduły z wifi typu esp8266 za 20pln, do wymiany danych
z czujnikami (i to bezprzewodowo!) wystarczające. Nie trzeba
studiować etheretów, stosów tcp itd.

Niby racja, jednak nie zawsze da się zastosować taki moduł, a Ethernet
też ma swoje plusy. Jeśli w pobliżu znajduje się jakaś końcówka lokalnej
sieci, to czemu nie?

Grzegorz Niemirowski
Guest

Mon Nov 03, 2014 7:13 pm   



Atlantis <marekw1986NOSPAM@wp.pl> napisał(a):
Quote:
Czyli co? Każdy powinien w celach edukacyjnych nauczyć się sterować
każdym układem za pomocą machania pinami i wypisania heksadecymalnych
wartości do poszczególnych rejestrów? Tylko po co? Po co robić od nowa
pracę, którą ktoś już wykonał? Po co marnować czas na pisania już
istniejącej biblioteki?
Dla mnie jest to trochę tak absurdalne, jak twierdzenie, że początkujący
powinien móc sobie ten układ najpierw zaprojektować z bramek (a
najlepiej tranzystorów) a potem oprogramować go w assemblerze
określonego procesora.
Najważniejsze jest to, żeby zacząć i uruchomić układ. Jeśli początkujący
będzie zaczynał podejście od najbardziej stromego zbocza, to w końcu
spadnie, potłucze się i zniechęci. Nie ma nic złego w korzystaniu z
wydeptanej ścieżki. A pozostałą wiedzę kiedyś trzeba będzie opanować -
przy okazji portowania albo modyfikacjo biblioteki. Jednak wszystko w
swoim czasie.

Jak nabędziesz praktyki, to zmienisz nieco zdanie. Zakładasz, że biblioteka
to gotowiec, który wystarczy wpiąć do projektu. Ale to tylko tzw. chłyt
makietinkowy autora/autorów. Tak może się wydawać przeglądając opis albo
uruchamiając przykłady. Jednak jak robisz własny projekt, nieco bardziej
rozbudowany, albo jest to już któryś kolejny projekt wykorzystujący daną
bibliotekę, to widzisz jak ona jest kanciasta, gdzie autor poszedł na
skróty, że poczynił pewne założenia, które w Twoim projekcie nie muszą być
prawdziwe, że coś jest nieudokumentowane, że coś się zmieniło w tej wersji
którą masz w porównaniu z wersją użytą w przykładach, że coś jest
niekompatybilne z Twoim kompilatorem, że biblioteka używa jakichś zasobów
(np. timery), które też chciałeś użyć, że definiuje jakieś makra i coś Ci
redefiniuje, że biblioteka ma błędy (nawet jak jest od renomowanego
producenta).
Tak, nie ma sensu wynajdować koła. Warto korzystać z bibliotek. Ale w
praktyce i tak się okazuje, że musisz wziąć manuala i obczaić jak ustawić
ten czy tamten bit w danym rejestrze. Szczególnie w naszym świecie embedded,
gdzie jesteś bardzo blisko sprzętu. To nie jest pecet, że system operacyjny
np. chroni pamięć jednego procesu przed modyfikacją przez inny proces. Tutaj
masz mikrokontroler i jesteś ciągle milimetry od strzelenia sobie w stopę.
Nie możesz traktować bibliotek jako czarnych pudełek, które się podczepia do
projektu i one działają. Potem ludzie piszą "wziąłem STM32CubeMX, wyklikałem
projekt i on nie działa!". Nie trzeba zaczynać koniecznie od stromego
zbocza, tylko potem bywa tak, że ktoś odpali "Hello World!" i sobie myśli,
że teraz kilkoma kliknięciami walnie sobie Ethernet. I Zonk, nie działa.
Albo działa, ale koszmarnie wolno. Lub tez działa, ale tylko przez godzinę.
I zaczyna się debugowanie, pisanie na elektrodę, rozczajanie jak działa
biblioteka i sięganie po ten straszny reference manual. I okazuje się, że
jednak jesteśmy na dosyć stromej ścieżce.
Nie zrozum mnie źle, nie neguję Twojego zdania. Tylko po prostu
rzeczywistość jest bardziej skomplikowana, a czaso(praco)chłonność projektu
znów jak zwykle okazuje się niedoszacowana :)

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 34 days, 23 hours, 56 minutes and 38 seconds

Atlantis
Guest

Mon Nov 03, 2014 10:49 pm   



W dniu 2014-11-03 19:13, Grzegorz Niemirowski pisze:

Quote:
Tak, nie ma sensu wynajdować koła. Warto korzystać z bibliotek. Ale w
praktyce i tak się okazuje, że musisz wziąć manuala i obczaić jak
ustawić ten czy tamten bit w danym rejestrze. Szczególnie w naszym
świecie embedded, gdzie jesteś bardzo blisko sprzętu. To nie jest pecet,

Ja sobie z tego doskonale zdaję sprawę. Teraz chociażby próbuję
przerzucić się z ENC28J60 na W5100. Niby układ jest prostszy w obsłudze
(nie trzeba się martwić stosem) ale sytuacja dokładnie taka, jak
opisujesz. Znalazłem co prawda prostą bibliotekę z przykładami dla AVR,
ale kod jest mocno niedopracowany. Tak naprawdę ktoś dociągnął projekt
tylko do momentu, w którym możliwe stało się odpalenie prostego serwerka
WWW. Brakuje większości najpotrzebniejszych funkcji: obsługi UDP,
przekazywania linijek do parsowania w transmisji TCP, dynamicznego
rezerwowania socketów i paru podstawowych funkcji związanych z obsługą
połączenia. Próbuję to teraz samemu dopisać, ale chyba bez ponownej,
dokładniejszej lektury manuala się nie obejdzie.

Jednak biblioteka bibliotece nierówna. Często już na starcie dysponuje
się produktem, na którym można zbudować kilka naprawdę zaawansowanych
projektów, nawet nie zauważając ograniczeń. Zresztą modyfikacja
istniejącej biblioteki pod własne potrzeby to jedno. Ja dyskutowałem z
opinią, że początkujący powinien sam sobie wszystko pisać od podstaw.
Dla mnie to powinno przyjść z czasem w miarę rosnących potrzeb.

Bool
Guest

Tue Nov 04, 2014 11:01 am   



W dniu 2014-11-03 22:49, Atlantis pisze:
Quote:
Teraz chociażby próbuję
przerzucić się z ENC28J60 na W5100. Niby układ jest prostszy w obsłudze
(nie trzeba się martwić stosem) ale sytuacja dokładnie taka, jak
opisujesz. Znalazłem co prawda prostą bibliotekę z przykładami dla AVR,
ale kod jest mocno niedopracowany. Tak naprawdę ktoś dociągnął projekt
tylko do momentu, w którym możliwe stało się odpalenie prostego serwerka
WWW. Brakuje większości najpotrzebniejszych funkcji: obsługi UDP,
przekazywania linijek do parsowania w transmisji TCP, dynamicznego
rezerwowania socketów i paru podstawowych funkcji związanych z obsługą
połączenia. Próbuję to teraz samemu dopisać, ale chyba bez ponownej,
dokładniejszej lektury manuala się nie obejdzie.

Na Twoim miejscu zostawiłbym W5100 i zajął się W5500. Biblioteki pod ten chip są napisane od nowa.
Mi działają bez problemów.

Marek Borowski
Guest

Tue Nov 04, 2014 1:03 pm   



On 2014-10-31 19:17, Atlantis wrote:
Quote:
W dniu 2014-10-31 14:50, Marek Borowski pisze:

Podejscie typowe dla 90% ludzi z ktorymi sie spotykam - rzemieslnicy
niemajacy pojecia o tym co wlasciwie robia.

Czyli co? Każdy powinien w celach edukacyjnych nauczyć się sterować
każdym układem za pomocą machania pinami i wypisania heksadecymalnych
wartości do poszczególnych rejestrów?
Dokladnie tak.


Quote:
Tylko po co? Po co robić od nowa
pracę, którą ktoś już wykonał?
Po to zeby miec podstawowa wiedze praktyczna.


Quote:
Po co marnować czas na pisania już
istniejącej biblioteki?

No wlasnie potwiedzasz to co napisalem. Ludziom sie wydaje

ze nabywanie wiedzy to marnowanie czasu. Przeciez chodzi o
zarabianie kasy a nie jakas durna nauke nie ?

Agrumenty ktore mozesz zrozumiec to:
a) biblioteka moze miec bledy.
b) biblioteka moze dzialac w nieintuicyjny sposob z uwagi
na specyfike hardware.
c) nikt nie kaze Ci pisac jej w calosci ani tez nie zabrania uzywac.


Quote:
Dla mnie jest to trochę tak absurdalne, jak twierdzenie, że początkujący
powinien móc sobie ten układ najpierw zaprojektować z bramek (a
najlepiej tranzystorów) a potem oprogramować go w assemblerze
określonego procesora.

Tak moj drogi. Powinien ta wiedze posiasc. I to najlepiej od fizyki

ciala stalego.

Quote:
Najważniejsze jest to, żeby zacząć i uruchomić układ. Jeśli początkujący
Nie. Wszyscy chca miec efekt jak najmniejszym kosztem. Nauke karate tez

zaczynasz od kumite ?

Quote:
będzie zaczynał podejście od najbardziej stromego zbocza, to w końcu
spadnie, potłucze się i zniechęci. Nie ma nic złego w korzystaniu z
wydeptanej ścieżki. A pozostałą wiedzę kiedyś trzeba będzie opanować -
przy okazji portowania albo modyfikacjo biblioteki. Jednak wszystko w
swoim czasie.

Jasne, tylko to kiedys w wieszkosci przypadkow nigdy nie nastepuje.


Pozdrawiam

Marek

Atlantis
Guest

Tue Nov 04, 2014 5:58 pm   



W dniu 2014-11-04 11:01, Bool pisze:

Quote:
Na Twoim miejscu zostawiłbym W5100 i zajął się W5500. Biblioteki pod ten
chip są napisane od nowa. Mi działają bez problemów.

A pod jaką platformę? Bo z tego co widzę, to pod W5100 też istnieje
jakaś gotowa biblioteka, ale napisana pod Arduino. W opisie jest mowa o
tym, że może też pracować z W5200 i W5500. Może mówimy o tym samym?
W każdym razie biblioteki z Arduino łatwo nie zastosuję w czystym
AVR-GCC. Równie dobrze mogę próbować dopracować tę niedopracowaną
bibliotekę, która przynajmniej z miejsca się kompiluje. Wink

Bool
Guest

Tue Nov 04, 2014 6:41 pm   



W dniu 2014-11-04 17:58, Atlantis pisze:
Quote:
A pod jaką platformę?

STM32F0

Atlantis
Guest

Tue Nov 04, 2014 7:54 pm   



W dniu 2014-11-04 18:41, Bool pisze:

Quote:
STM32F0

A no właśnie. Ja ciągle jeszcze siedzę na AVR-ach. Zacząłem kilka
projektów z AVR+W5100 - mam gotową stronę sprzętową (własna płytka) i
nie chciałbym ich porzucać, żeby potem wszystko zacząć od nowa, na STM-ach.

Bool
Guest

Wed Nov 05, 2014 9:53 am   



W dniu 2014-11-04 19:54, Atlantis pisze:
Quote:
A no właśnie. Ja ciągle jeszcze siedzę na AVR-ach. Zacząłem kilka
projektów z AVR+W5100 - mam gotową stronę sprzętową (własna płytka) i
nie chciałbym ich porzucać, żeby potem wszystko zacząć od nowa, na STM-ach.

Ale ta biblioteka jest uniwersalna. Pamiętam że ją portowałem pod mój mikrokontroler. Nie było to
zbyt trudne. Tu masz wszystko ładnie opisane:
http://wizwiki.net/wiki/doku.php?id=products:w5500:driver

pawel
Guest

Mon Nov 10, 2014 8:50 pm   



Quote:
Czyli co? Każdy powinien w celach edukacyjnych nauczyć się sterować
każdym układem za pomocą machania pinami i wypisania heksadecymalnych
wartości do poszczególnych rejestrów? Tylko po co? Po co robić od nowa
pracę, którą ktoś już wykonał? Po co marnować czas na pisania już
istniejącej biblioteki?

Dokładnie jestem tego samego zdania, poza tym że machania pinami należy
nauczyć się w szkole średniej, albo teraz już wyższej bo w średniej uczą
machania łopatą.

Paweł

platformowe głupki
Guest

Mon Nov 10, 2014 10:24 pm   



to może Ktoś mi wyjaśni, czego te eu/powskie ścierwa nie tworzą
dokumentacji do swojego kodu? co to kur... za proeuropejska moda? za
takie zagrywki dostają granty czy jak? Ktoś wie?

butek
Guest

Mon Nov 10, 2014 11:53 pm   



Zakładają, słusznie jak widać, że ktokolwiek kto będzie miał potrzebę z
ich kodu skorzystać jest na tyle rozumny, że poradzi sobie bez
komentowania/dokumentowania każdej linijki, funkcji czy deklaracji zmiennej.

--
butek
Safety note: Don't put all your enriched uranium hexafluoride in one
bucket. Use at least two or three buckets and keep them in separate
corners of the room. This will prevent the premature build-up of a
critical mass.

platformowe głupki
Guest

Tue Nov 11, 2014 10:58 am   



znaczy "między nami kolesiami", tak znam to powskie zagadnienie...

platformowe głupki
Guest

Tue Nov 11, 2014 12:14 pm   



poza tym to mnie Twój argument nie przekonuje...
podam przykład, nigdzie w necie nie ma polskiej dokumentacji do
sterowników SAIA, a skumpolne firmy mają i to w wersji drukowanej...

Goto page Previous  1, 2, 3  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Jak rozpocząć wysyłanie danych przez Ethernet z ENC28J60 i STM32F103RBT6?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map