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 | }
|