Specific ports on Teensy 3.6 not reading correct bit resolution using ADC library?
The Kinesis 66 (the chip on the Teensy 3.6) has two ADC modules. Each one talks to different pins.

By default the configuration functions in that library configure ADC0, so unless you tell it otherwise, you will only be configuring half the ADC pins.

You should call each of the configuration functions twice, once for ADC0 and once for ADC1:

adc-&gt;setAveraging(16, 0); // set number of averages
adc-&gt;setResolution(16, 0); // set bits of resolution
adc-&gt;setConversionSpeed(ADC_CONVERSION_SPEED::HIGH_SPEED_16BITS, 0);
adc-&gt;setSamplingSpeed(ADC_SAMPLING_SPEED::VERY_HIGH_SPEED, 0);

adc-&gt;setAveraging(16, 1); // set number of averages
adc-&gt;setResolution(16, 1); // set bits of resolution
adc-&gt;setConversionSpeed(ADC_CONVERSION_SPEED::HIGH_SPEED_16BITS, 1);
adc-&gt;setSamplingSpeed(ADC_SAMPLING_SPEED::VERY_HIGH_SPEED, 1);