Народ привет. Может не в тему, но меня мучит вот что. Значит девайс хмега128а1.
Значит первый вопрос: при определении вот таким кодом
Код
void adc_init(void)
{
// ADC_CalibrationValues_Set(&ADCA); /* откалибруем ADC A. */
offset = ADC_Offset_Get(&ADCA); /* Получим смещение для ADC A. */
ADC_ConvMode_and_Resolution_Config(&ADCA, false, ADC_RESOLUTION_8BIT_gc); /* Сконфигурим ADC A для беззнакового преобразования 8 бит*/
ADC_Prescaler_Config(&ADCA, ADC_PRESCALER_DIV128_gc);/* Частота преобразования CPUFREQ/128. */
ADC_Referance_Config(&ADCA, ADC_REFSEL_INT1V_gc);/* установим опорное напряжение ADC A to be VCC 1 V.*/
/* Настроим каналы 0, 1, 2 and 3 на single ended input. */
// ADC_Ch_InputMode_and_Gain_Config(&ADCA.CH0,ADC_CH_INPUTMODE_SINGLEENDED_gc,ADC_CH_GAINFAC_1X_gc);
// ADC_Ch_InputMode_and_Gain_Config(&ADCA.CH1,ADC_CH_INPUTMODE_SINGLEENDED_gc,ADC_CH_GAINFAC_1X_gc);
//ADC_Ch_InputMode_and_Gain_Config(&ADCA.CH2,ADC_CH_INPUTMODE_SINGLEENDED_gc,ADC_CH_GAINFAC_1X_gc);
ADC_Ch_InputMode_and_Gain_Config(&ADCA.CH3,ADC_CH_INPUTMODE_SINGLEENDED_gc,ADC_CH_GAINFAC_1X_gc);
/* Настроим входы на ADC A ножки 4, 5, 6 and 7. */
//ADC_Ch_InputMux_Config(&ADCA.CH0, ADC_CH_MUXPOS_PIN4_gc, ADC_CH_MUXNEG_PIN0_gc);
//ADC_Ch_InputMux_Config(&ADCA.CH1, ADC_CH_MUXPOS_PIN5_gc, ADC_CH_MUXNEG_PIN0_gc);
//ADC_Ch_InputMux_Config(&ADCA.CH2, ADC_CH_MUXPOS_PIN6_gc, ADC_CH_MUXNEG_PIN0_gc);
ADC_Ch_InputMux_Config(&ADCA.CH3, ADC_CH_MUXPOS_PIN7_gc, ADC_CH_MUXNEG_PIN0_gc);
/* настроим sweep всех 4х каналов. */
ADC_SweepChannels_Config(&ADCA, ADC_SWEEP_0123_gc);
ADC_Enable(&ADCA);
ADC_Wait_32MHz(&ADCA);
ADC_FreeRunning_Enable(&ADCA);
}
Собственно при настройке канала на ногу ADC_CH_MUXPOS_PIN7_gc почему то опрашивается нога рядом, так и не понял почему.
Если кто нибудь работал с ацп, объясните, как заставить работать заремаренную верхнюю строчку. Компилер кроет матом, говорит не найти подпрограммы, хотя в оригинале(апноуте) все компилится нормально.
Второй вопрос, подскажите как настраивать каналы, не врубаюсь.
третий вопрос, как заставить работать одиночное преобразование.
Но главное не пойму почему канал опрашивается не тот.