...
Anchor
ISR_Handler()
function is used to handle each device’s interrupts. See section 7-5-5 on page 164 for more details on how to handle each device’s interrupts.Files
Anchor
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 | | 1135954 | 1135954 | |
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’. Anchor
static
’.Arguments
pif
Pointer to the interface to handle network device interrupts.
...
type
Anchor
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
...
None. Anchor
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.