Ich sehen in Deinem Code oben keinen Aufruf für ADCConfig(). Das muss an
der korrekten Stelle stehen.
Ich sehe aber noch mehr:
1 | CDC_Init();
|
2 | SegmentLCD_Init(false);
|
3 |
|
4 | CMU_OscillatorEnable(cmuOsc_HFXO, true, false);
|
5 | CMU_ClockSelectSet( cmuClock_HF, cmuSelect_HFXO );
|
CDC_Init würde ich immer erst nach den Oszillatoren machen, sonst
stimmt eventuell die Baudrate nicht. Dito SegmentLCD_init().
USB verwendet einen der Timer, aber IIRC nicht Timer1.
Da Du den HFXO direkt verwenden willst, besser:
1 | CMU_OscillatorEnable(cmuOsc_HFXO, true, true);
|
Die Änderung von init.warmUpMode hat keinen Effekt, da sie nach
ADC_Init() erfolgt.
Damit hast Du das Problem mit dem überlaufenden Referenzzähler im Warmup
bei 48 Mhz (siehe Manual/Errata), was die schlechten ADC Werte erklären
könnte.