STM32F4 Discovery Ethernet

Başlatan omenek, 24 Kasım 2015, 21:32:33

omenek

Merhaba arkadaşlar,
TCP/IP haberleşme ile ilgili birşeyler öğrenmek için aşağıda linkini verdiğim siteden "52-STM32F429_ETHERNET_CLIENT_COOCOX" Projesini bazı ufak
değişiklikler yaparak çalıştırdım. "TM_ETHERNETCLIENT_Connect" fonksiyonuyla karttan, PC ye kurduğum "Packet Sender" programına bağlanıp veri
gönderebiliyorum fakat "Packet Sender" programından karta veri gönderdiğimde kullanıcının gelen dataların kullanması için yazılmış olan
"TM_ETHERNETCLIENT_ReceiveDataCallback" fonksiyonu çağrılmıyor. Dolayısıyla program tarafından karta veri gönderildiği halde verileri işleyemiyorum.
Client bir cihazdan istediğimiz zaman belli bir IP ve Port numarasına veri gönderebiliyoruz, peki tersi doğrumudur, yani Client bir cihaza istediğimiz zaman
cihazın IP ve Port numarasını yazarak herhangi bir cihazdan veri gönderebiliyormuyuz. Yoksa illa client cihazın istekte bulunmuş olması mı gerekiyor.
Eğer gönderebiliyorsak ne yapmamı önerirsiniz.

http://stm32f4-discovery.com/2015/02/library-52-ethernet-peripheral-on-stm32f4xx/

Gökhan BEKEN

Araya girerek bir şey sormak istiyorum kusura bakmazsanız, DP83848 modülünü nerden temin ettiniz?
Özel mesaj okumuyorum, lütfen göndermeyin.

omenek

LAN8720A kullanarak kendim kart tasarladım.

omenek

#3
 Proje 3 ayrı PHY entegresini destekliyor "#define ETHERNET_PHY"    bildirimi ile hangisini kullanacağınızı seçebiliyorsunuz.
  0: DP83848
  1: LAN8720A
  2: KSZ8081RNA

iyildirim

@omenek,
Client bir connection kurmuşsa server dan client a veri göndermekte sıkıntı yok hocam.

Client dan servera veri gönderebiliyormuşsunuz.
Kodları aynen kullanıp, server a veriyi gönderin ama bağlantıyı kapatmayın,
sonrasında packet sender ile client a birşeyler göndermeyi deneyin.

LAN8720 li bir phyter kart yapmak için chip vs. almıştım ama henüz fırsatım olmadı.
Datasheet dışında dikkat edilecek herhangi bir tecrübeniz oldumu?

omenek


@iyildirim
Cevabın için teşekkür ederim. "tcp_echoclient_connection_close" fonksiyonu ile bağlantıyı kapatıyor bunu engelledim ama "TM_ETHERNETCLIENT_ReceiveDataCallback"   fonksiyonu "TM_ETHERNETCLIENT_Connect" fonksiyonunun kullandığı alt fonksiyonlar tarafından çağrılıyor tabi bu da data receive edildiğinde çağrılıyor sanırım.
Sürekli "TM_ETHERNETCLIENT_Connect" fonksiyonunu çağıramayacağıma göre veri geldiğinde haberdar olabileceğim bazı fonksiyonlar olmalı ama bir çıkış yolu bulamadım.

Yaptığım LAN8720A devresinin şeması aşağıdadır. Hem datasheet den hemde bazı uygulamalardan yararlanarak çizim yaptım. Sorun yok çalışıyor.