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