Forum: Mikrocontroller und Digitale Elektronik ENC28J60, PKTCNT immer 0


von Holger K. (holgerkraehe)


Lesenswert?

Hallo zusammen

Ich benutze den Code für den ENC von hier:
https://github.com/patrick--/AVR-ENC28J60-Examples
(die enc28j60.c und .h. In diesen habe ich nur die SPI Routine 
angepasst)

Zusammen mit einem STM32.

Wenn die Funktion enc25j60getrev(); ausführe, erhalte ich 6 als antwort.
Dies reproduziertbar. Die LED's kann ich auch blinken lassen.

Ich gehe also davon aus, dass das SPI Interface funktioniert.
Habe es testweise mit 100kHz und mit 18MHz laufen lassen.
Funktioniert mit beiden Geschwindigkeiten identisch.

Mein Setup ist wie folgt:
Notebook mit fixer IP Adresse an Switch, ENC ebenfalls am Switch.

Ich sende mit dem Colasoft Paketbuilder UDP Pakete mit der Zielmac des 
ENC.
Die LED am Netzwerkanschluss des ENC signalisiert auch ein eintreffendes 
Paket.

Leider bekomme ich beim ausführen von enc28j60hasRxPkt immer 0 zurück.
Auch bei Debuggen, sehe ich dass die SPI Routine tatsächlich null zurück 
erhält.

Die Konfiguration wurde unverändert von dem obigen Link übernommen.

Hat jemand eine Idee, wo man suchen könnte?

Danke schonmal.


Diese Codestelle liefert immer 0 zurück.
1
// just probe if there might be a packet
2
uint8_t enc28j60hasRxPkt(void)
3
{
4
  if( enc28j60Read(EPKTCNT) ==0 ){
5
    return(0);
6
        }
7
        return(1);
8
}

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.