Hi all,
I have a project based on USB CDC Vcom Lite sample.
The project is developed on KSDK2.4.1 and the mcu is MK22FN128VLH10.
In addition to CDC, 2ch ADCs and a PIT timer work together.
Snippet is as follows:
void PIT0_IRQHandler(void)
{
if (PIT_GetStatusFlags(PIT, kPIT_Chnl_0) != 0) {
PIT_StopTimer(PIT, kPIT_Chnl_0);
PIT_ClearStatusFlags(PIT, kPIT_Chnl_0, PIT_TFLG_TIF_MASK);
ADC16_SetChannelConfig(ADC0, 0, &adc16ChannelConfigStruct0);
ADC16_SetChannelConfig(ADC1, 0, &adc16ChannelConfigStruct1);
}
}
void ADC0_IRQHandler(void)
{
ADCData0 = ADC16_GetChannelConversionValue(ADC0, 0);
}
void ADC1_IRQHandler(void)
{
ADCData1 = ADC16_GetChannelConversionValue(ADC1, 0);
PIT_StartTimer(PIT, kPIT_Chnl_0);
}
Symptoms:
The period of PIT timer is 20us or more, it works fine.
The period is less than 20us, Windows loses the link of USB.
II think PIT or ADC interrupts effect on something USB features.
Does someone know the restriction of USB interface or workaround of this ?