Hi,
I'm looking at the ADC module, and when checking what the driverlib functions actually do, I stumbled across this thing that I think is a bug. It seems that the (internal to the driverlib) function _ADCIntNumberGet always returns the interrupt number from ADC0:
static uint_fast8_t _ADCIntNumberGet(uint32_t ui32Base, uint32_t ui32SequenceNum) { uint_fast8_t ui8Int; // // Determine the interrupt to register based on the sequence number. // if(CLASS_IS_BLIZZARD) { ui8Int = ((ui32Base == ADC0_BASE) ? (INT_ADC0SS0_BLIZZARD + ui32SequenceNum) : (INT_ADC0SS0_BLIZZARD + ui32SequenceNum)); ^^^^^^^^^^^^^^^^^^^^ } else { ui8Int = 0; } return(ui8Int); }
Shouldn't the caret-marked constant be INT_ADC1SS0_BLIZZARD instead?
Interestingly, that function is only used once, in ADCIntUnregister. In ADCIntRegister, where similar functionality is required, it is provided inline, without a call to _ADCIntNumberGet. In ADCIntRegister, the alternative result of the ternary operator has INT_ADC1SS0_BLIZZARD, as is expected.
I'm looking at TivaWare version 1.1.
Best,
Veikko