...
Anchor
ISR_Handler()
function is used to handle each device’s interrupts. See section 7-5-5 “NetDev_ISR_Handler()” on page 164 for more details on how to handle each device’s interrupts.Files
...
net_dev.c
Prototype
...
HTML Table | summary | |||
---|---|---|---|---|
class | Code_Listing | |||
Table Row (tr) | ||||
Table Cell (td) | ||||
| ||||
Anchor | 1114661 | 1114661 | static void||
Code Block | ||||
static void NetDev_ISR_Handler (NET_IF*pif, Anchor | | 1151496 | 1151496 | |
Table Row (tr) |
...
|
Note that since every device driver’s ISR_Handler()
function is accessed only by function pointer via the device driver’s API structure, it doesn’t need to be globally available and should therefore be declared as ‘static’‘static
’. Anchor
Arguments
...
pif
Pointer to the interface to handle network device interrupts.
Anchor
type
Device’s interrupt type:
...
NET_DEV_ISR_TYPE_UNKNOWN
...
NET_DEV_ISR_TYPE_RX
...
NET_DEV_ISR_TYPE_RX_RUNT
...
...
NET_DEV_ISR_TYPE_RX_OVERRUN
...
NET_DEV_ISR_TYPE_TX_RDY
...
...
NET_DEV_ISR_TYPE_TX_COMPLETE
...
NET_DEV_ISR_TYPE_TX_COLLISION_LATE
...
NET_DEV_ISR_TYPE_TX_COLLISION_EXCESS
...
NET_DEV_ISR_TYPE_JABBER
...
NET_DEV_ISR_TYPE_BABBLE
...
...
NET_DEV_ISR_TYPE_PHY
...
Returned Value
...
Required Configuration
...
Notes / Warnings
...
Each device’s NetDev_ISR_Handler()
should never return early but check all applicable interrupt sources to see if they are active. This additional checking is necessary because multiple interrupt sources may be set within the interrupt response time and will reduce the number and overhead of handling interrupts.