Gast
#3656592
Hallo Leute, bin am Entwickeln eines eigenen Netzwerkdienstes auf dem AVR-NET-IO Board. Auf dem Board ist der ATmega32 µC und der ENC28J60 Netzwerkcontroller verbaut. Für die Kommunikation mit dem ENC28J60 Controller verwende ich den ENC28J60 Treiber Version 2007'0819 vom Simon Schulz. Das Senden von Frames klappt wunderbar, werden vom PC empfangen. Das Empfangen von den Frames funktioniert nicht ganz. Das Problem hab ich auf die Interruptleitung zwischen den zwei Controllern eingrenzen können. Im ENC28J60 wurde der Empfangsinterrupt aktiviert mit setzen von EIE.INTIE = 1 und EIE.PKTIE = 1. Beim ATmega32 ist die Leitung an den Pin PB2 (INT2) angeschlossen. Hab im Programm DDRB bei PB2 auf Ausgang gesetzt und zum testen PORTB bei PB2 auf 1 bzw. 0 gesetzt. Interrupt wurde aktiviert und die Routine programmiert. Zum manuellen testen des Interrupts hab ich die Leitung abgegriffen und über ein Taster auf GND geführt. Die Routine wurde korrekt ausgeführt. Bei PB2 als Ausgang bekomme ich dennoch keinen Interrupt vom ENC28J60 mit. Wenn ich den PB2 auf Eingang schalte bekomme ich die Interrupts vom ENC28J60 mit solange ich keinen Frame senden möchte, wenn ich dann einen Frame gesendet hab geht die Interruptleitung von high auf low und bekomme keinen Interrupt mehr mit. Dank schon mal für die Hilfe Gruß Christian