Цитата(Oleg_IT @ Jan 16 2015, 11:47)

Но |= всё таки правильнее, это нужно, что бы не повреждать те биты которые нужны для других целей.
В данном случае вы инициализируете. И вам нужно не "не повредить" их, а вам нужно, чтобы в них были нули. Поэтому именно здесь правильнее "=". Кроме того, это даст более короткий код.
Цитата(Oleg_IT @ Jan 16 2015, 11:47)

но выигрыш во времени не впечатлил
Какой выигрыш? АЦП запускается или сразу (аппаратно) или с задержкой (вручную в обработчике). Остальное время уходит на преобразование. Максимальная тактовая для АЦП (для получения 10 бит) - 1 МГц, вы можете затактировать АЦП частотой 10 МГц / 16 = 625 КГц, преобразование занимает 13.5 тактов, т.е. 21.6 мкС - это максимум, что можно выжать для вашего кварца и 10 бит. 40 мкС должно занимать первое преобразование после переключения канала. В вашем коде я не вижу смены канала, значит уже второе преобразование должно закончиться через 21.6 мкС. Но это только при условии, что вы настроите тактирование. В вашем коде я не вижу настройки предделителя АЦП, значит оно работает на 5 МГц и если при этом вы наблюдаете время преобразования 44 мкС, то я могу только предположить, что ваш процессор вместо 10 МГц работает от внутреннего RC-генератора деленного на 8, т.е. на 1 МГц. Хотя и тогда должно получиться около 27 мкС. В общем показывайте последний код, телепатировать не хочется.