I'm working with v-usb and there is this tidbit.
/* The following configurations have working defaults in usbdrv.h. You * usually don't need to set them explicitly. Only if you want to run * the driver on a device which is not yet supported or with a compiler * which is not fully supported (such as IAR C) or if you use a differnt * interrupt than INT0, you may have to define some of these. */ /* #define USB_INTR_CFG MCUCR */ /* #define USB_INTR_CFG_SET ((1 << ISC00) | (1 << ISC01)) */ /* #define USB_INTR_CFG_CLR 0 */ /* #define USB_INTR_ENABLE GIMSK */ /* #define USB_INTR_ENABLE_BIT INT0 */ /* #define USB_INTR_PENDING GIFR */ /* #define USB_INTR_PENDING_BIT INTF0 */ /* #define USB_INTR_VECTOR INT0_vect */
# ifndef USB_INTR_VECTOR /* default to hardware interrupt INT0 */ # ifdef INT0_vect # define USB_INTR_VECTOR INT0_vect // this is the "new" define for the vector # else # define USB_INTR_VECTOR SIG_INTERRUPT0 // this is the "old" vector # endif # endif
I'm having a hard time understanding what the SIG_INTERRUPT0 is opposed to the int0 with respect to the atmegaq328. Was there a name change in one of the ATmega chips and/or is this backward compatible thus no advantage over one or the other.