...
NetDev_ISR_Handler()
...
A device’s 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. Anchor
Files
Anchor
net_dev.c
Prototype
anchor
...
rowspan | 2 |
---|
...
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
’.Arguments
Anchor
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.