Alex_Golubev 0 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба Привет. Вот код: volatile int16_t result = 0; NRF_SAADC->CH[0].CONFIG = (SAADC_CH_CONFIG_GAIN_Gain1_2 << SAADC_CH_CONFIG_GAIN_Pos) | (SAADC_CH_CONFIG_MODE_SE << SAADC_CH_CONFIG_MODE_Pos) | (SAADC_CH_CONFIG_REFSEL_VDD1_4 << SAADC_CH_CONFIG_REFSEL_Pos) | (SAADC_CH_CONFIG_RESN_Bypass << SAADC_CH_CONFIG_RESN_Pos) | (SAADC_CH_CONFIG_RESP_Bypass << SAADC_CH_CONFIG_RESP_Pos) | (SAADC_CH_CONFIG_TACQ_40us << SAADC_CH_CONFIG_TACQ_Pos); NRF_SAADC->CH[0].PSELP = SAADC_CH_PSELP_PSELP_AnalogInput0 << SAADC_CH_PSELP_PSELP_Pos; NRF_SAADC->CH[0].PSELN = SAADC_CH_PSELN_PSELN_NC << SAADC_CH_PSELN_PSELN_Pos; NRF_SAADC->RESOLUTION = SAADC_RESOLUTION_VAL_14bit << SAADC_RESOLUTION_VAL_Pos; NRF_SAADC->RESULT.MAXCNT = 1; NRF_SAADC->RESULT.PTR = (uint32_t)&result; // No automatic sampling, will trigger with TASKS_SAMPLE. NRF_SAADC->SAMPLERATE = 0x400 | SAADC_SAMPLERATE_MODE_Timers << SAADC_SAMPLERATE_MODE_Pos; NRF_SAADC->ENABLE = SAADC_ENABLE_ENABLE_Enabled << SAADC_ENABLE_ENABLE_Pos; NRF_SAADC->TASKS_CALIBRATEOFFSET = 1; while (NRF_SAADC->EVENTS_CALIBRATEDONE == 0); NRF_SAADC->EVENTS_CALIBRATEDONE = 0; while (NRF_SAADC->STATUS == (SAADC_STATUS_STATUS_Busy <<SAADC_STATUS_STATUS_Pos)); // Start the SAADC and wait for the started event. NRF_SAADC->TASKS_START = 1; while (NRF_SAADC->EVENTS_STARTED == 0); NRF_SAADC->EVENTS_STARTED = 0; // Do a SAADC sample, will put the result in the configured RAM buffer. NRF_SAADC->TASKS_SAMPLE = 1; while (NRF_SAADC->EVENTS_END == 0); NRF_SAADC->EVENTS_END = 0; Переменная result не изменяется в зависимости от напряжения на входе AIN0. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adrvyho 0 23 ноября, 2020 Опубликовано 23 ноября, 2020 (изменено) · Жалоба Здравствуйте. Удалось справиться с проблемой? Подобно вашему инициализирую модуль, но запускаю от ppi по таймеру. EVENTS_END не происходит, хотя EVENTS_DONE срабатывают. Такое ощущение, что DMA не передаёт результат в буфер Изменено 23 ноября, 2020 пользователем adrvyho Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться