|
|
|
|
|
|
|
|
void IntervalTimer::end() { |
|
|
void IntervalTimer::end() { |
|
|
if (channel) { |
|
|
if (channel) { |
|
|
int index = channel - KINETISK_PIT_CHANNELS; |
|
|
int index = channel - KINETISK_PIT_CHANNELS; |
|
|
|
|
|
#if defined(KINETISK) |
|
|
NVIC_DISABLE_IRQ(IRQ_PIT_CH0 + index); |
|
|
NVIC_DISABLE_IRQ(IRQ_PIT_CH0 + index); |
|
|
|
|
|
#elif defined(KINETISL) |
|
|
|
|
|
// TODO: disable IRQ_PIT, but only if both instances ended |
|
|
|
|
|
#endif |
|
|
funct_table[index] = dummy_funct; |
|
|
funct_table[index] = dummy_funct; |
|
|
channel->TCTRL = 0; |
|
|
channel->TCTRL = 0; |
|
|
#if defined(KINETISL) |
|
|
#if defined(KINETISL) |