I am using MDK ARM Professional version v4.74 and MCB2300 evaluation board.How to use ethernet interrupt using static void interrupt_ethernet (void) __irq.I have enabled ethernet interrupt using VICIntEnable = 1 << 21;.how to receive ethernet frame and how i can extract data using this ethernet interrupt function static void interrupt_ethernet (void) __irq.Any help will be appreciated.Thank you.
Surely, if you have the Professional version, you have access to the middleware to take care of all this for you?
www2.keil.com/.../pro
www2.keil.com/.../middleware
specifically: http://www.keil.com/pack/doc/mw/Network/html/index.html
If you want to work at the chip's register level, then you need to study the chip manufacturer's documentation - which is nothing to do with Keil.
Datasheet links are available via http://www.keil.com/mcb2300/specs.asp
Sir, We have developed UDP implementation using RL libraries.Now we used timer interrupt for calling "main_TcpNet()" and receiving the udp packets.Now we want to use ethernet interrupt.Kindly help us.
Why did you declare your interrupt service function as static? As you know static identifiers are visible in its own module only. You should declare it without static keyword.
Georg
It is taken from the example project LEDSwitch of the installation folder C:\Keil\ARM\Boards\Keil\MCB2300\RL\TCPnet.Kindly suggest how to extract the packets from the ethernet interrupt function. Thank you.
That's a fairly standard thing to do.
"static identifiers are visible in its own module only"
True but (probably?) not relevant.
ISRs are not (usually) called from source code - so it is (usually) appropriate that they are not visible to other modules!
Especially as the OP reports that other examples do this.
If this were a problem, the OP would have build errors pointing to it ...
So, surely, you should be looking here:
www.keil.com/.../group__net_e_t_h___func.html
And, with a Pro licence, you have access to Keil support ...
We purchased three years back,so they support only for one year from the date of purchase. For UDP reception, Currently,We are using udp callback function and procrec function to receive and process.
U16 udp_callback (U8 soc, U8 *rip, U16 rport, U8 *buf, U16 len) { Rem_IP[0]=rip[0]; Rem_IP[1]=rip[1]; Rem_IP[2]=rip[2]; Rem_IP[3]=rip[3]; R_Port= rport; Rec_Length = len; if (soc != socket_udp) { return (0); } procrec(buf); return (0); }
void procrec (U8 *buf) { }
Now for the same application,i want use the interrupt function "static void interrupt_ethernet (void) __irq".Kindly help me.
Please read the instructions for posting source code.
See this picture: www.danlhenry.com/.../keil_code.png