Сейчас на эти выходы нужно поставить более дорогие усилители. И чтобы сэкономить я хочу поставить один на два канала и перед ним простенький мультиплексор на 2 канала.
Код был вот такой:
Код
$this_var = while (adc_accum_cnt < ADC_ACCUM_TIME)
{
ADC_ch1_temp = Get_ADC(ADC_CH1);
if (ADC_ch1_temp > ADC_ch1_max) ADC_ch1_max = ADC_ch1_temp;
if (ADC_ch1_temp < ADC_ch1_min) ADC_ch1_min = ADC_ch1_temp;
ADC_ch2_temp = Get_ADC(ADC_CH2);
if (ADC_ch2_temp > ADC_ch2_max) ADC_ch2_max = ADC_ch2_temp;
if (ADC_ch2_temp < ADC_ch2_min) ADC_ch2_min = ADC_ch2_temp;
};
{
ADC_ch1_temp = Get_ADC(ADC_CH1);
if (ADC_ch1_temp > ADC_ch1_max) ADC_ch1_max = ADC_ch1_temp;
if (ADC_ch1_temp < ADC_ch1_min) ADC_ch1_min = ADC_ch1_temp;
ADC_ch2_temp = Get_ADC(ADC_CH2);
if (ADC_ch2_temp > ADC_ch2_max) ADC_ch2_max = ADC_ch2_temp;
if (ADC_ch2_temp < ADC_ch2_min) ADC_ch2_min = ADC_ch2_temp;
};
Теперь мне для того чтобы перещёлкивать мультиплексором, как я понимаю, нужно поставить в код между каналами АЦП команду, которая будет дергать ножкой "0" и"1". А входы АЦП обоих каналов просто соединить. Для этого не придется переписывать остальной код. Соответственно, когда я получу значения для ch1 я перешелкну и буду считывать значения для канала ch2.
Или второй вариант (более логичный с точки зрения кода): я использую один канал АЦП, и просто в коде определю переменную ADC_ch2_temp = Get_ADC(ADC_CH1).
Но главный вопрос как вывести наружу этот внешний такт, с учётом, что необходимо скорее всего после перехода на этой ноге с "0" на "1" делать задержки, чтобы АЦП не считывал данные пока мультиплексор окончательно не переключится?