...
- Call
NetIF_ISR_Handler()
with the device’s unique network interface number and appropriate interrupt type. The device’s network interface number should be available after configuration in the device’sNetDev_WiFi_CfgIntCtrl()
function (see function NetDev_WiFi_IntCtrl).NetIF_ISR_Handler()
in turn calls the appropriate device driver’s interrupt handler.In most cases, each device requires only a single
NetDev_WiFi_ISR_Handler()
which callsNetIF_ISR_Handler()
with interrupt type codeNET_DEV_ISR_TYPE_UNKNOWN
. This is possible when the device’s driver can determine the device’s interrupt type to via the interrupt controller. However, some devices cannot generically determine the interrupt type when an interrupt occurs and may therefore require multiple, uniqueNetDev_WiFi_ISR_Handler()
’s each of which callsNetIF_ISR_Handler()
with the appropriate interrupt type code.
...
See also function NetIF_ISR_Handler ” .
- Clear the device’s interrupt source, possibly via an external or CPU-integrated interrupt controller source.
Since each network device requires a unique NetDev_WiFi_ISR_Handler()
for each device interrupt, it is recommended that each device’s NetDev_WiFi_ISR_Handler()
function be named using the following convention:
NetDev_WiFi_[Device]ISR_Handler[Type][Number]()
[Device]
Network device name or type, e.g., RS9110 (optional if the development board does not support multiple devices)
[Type]
Network device interrupt type, e.g., receive interrupt (optional if interrupt type is generic or unknown)
[Number]
Network device number for each specific instance of device (optional if the development board does not support multiple instances of a specific device)
For example, the receive ISR handler for the #2 RS9110 wireless device on an Atmel AT91SAM9263-EK should be named NetDev_WiFi_RS9110_ISR_HandlerRx2()
.
...