whale 6 6 февраля, 2021 Опубликовано 6 февраля, 2021 (изменено) · Жалоба Они аналоговые по сбросу, я их не трогал на выбранном порту. Изменено 6 февраля, 2021 пользователем whale Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrBearManul 0 6 февраля, 2021 Опубликовано 6 февраля, 2021 · Жалоба 3 минуты назад, whale сказал: Они аналоговые по сбросу, я их не трогал на выбранном порту. Тактирование порту задали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
whale 6 6 февраля, 2021 Опубликовано 6 февраля, 2021 (изменено) · Жалоба Порты работают отлично Может с выборкой одиночного канала что то напутал в установках, там куча режимов у ацп есть Изменено 6 февраля, 2021 пользователем whale Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrBearManul 0 6 февраля, 2021 Опубликовано 6 февраля, 2021 · Жалоба 4 минуты назад, whale сказал: Может с выборкой одиночного канала что то напутал в установках, там куча режимов у ацп есть Я конкретно с этим МК не работал, но работал с другими похожими, серией F0x1. В принципе, бегло глянув RM, там всё прозрачно. Нужно просто строчкую за строчкой прочитать ещё раз документ с описанием АЦП. Затем последовательно проинициализировать все регистры. Должно заработать, куда же без этого. Ну и посмотрите Errata, там что-то про АЦП и таймеры есть. Возможно и другая информация из этого документа окажется вам полезной. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
whale 6 6 февраля, 2021 Опубликовано 6 февраля, 2021 · Жалоба Все что вы написали сделал кроме чтения errata, счас займусь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 87 6 февраля, 2021 Опубликовано 6 февраля, 2021 · Жалоба 46 минут назад, whale сказал: STM32G070KB пошагово тут сложно, во всяком случае затыка нигде нет. Надо в отладчике тупо пошагово пройти весь модуль ацп, задаваясь на каждом шаге вопросом "Правильно-ли меняется бит?" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 87 6 февраля, 2021 Опубликовано 6 февраля, 2021 · Жалоба 2 часа назад, whale сказал: ADC1->CHSELR |= ADC_CHSELR_CHSEL8; // выбор канала ADC8 (PB0) в последовательности Что-то я не нашел где alternate function для PB0 вывода выбирается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
whale 6 6 февраля, 2021 Опубликовано 6 февраля, 2021 (изменено) · Жалоба 1 hour ago, HardEgor said: Что-то я не нашел где alternate function для PB0 вывода выбирается. LQFP32 корпус PB0 15 нога 1 hour ago, HardEgor said: задаваясь на каждом шаге вопросом "Правильно-ли меняется бит?" Как это сделать в отладчике IAR ? В ерате ничего интересного про ацп нет Изменено 6 февраля, 2021 пользователем whale Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
whale 6 6 февраля, 2021 Опубликовано 6 февраля, 2021 (изменено) · Жалоба Возможна тут ошибка проверить смогу завтра, ADEN можно установить только при ADC->CR=0 а проверка флага EOCAL написана неправильно, завершение калибровки при EOCAL=1 // калибровка ADC->CCR |= ADC_CCR_VREFEN; // вкл внутренний ИОН для калибровки ADC1->CR |= ADC_CR_ADCAL; // вкл калибровку while((ADC1->ISR & ADC_ISR_EOCAL)); //пока ADCAL=1 ждем // управление ADC1->CR |= ADC_CR_ADEN; // включить adc Spoiler Изменено 6 февраля, 2021 пользователем whale Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 6 февраля, 2021 Опубликовано 6 февраля, 2021 · Жалоба в отладчике тупо пошагово пройти весь модуль ацп, задаваясь на каждом шаге вопросом "Правильно-ли меняется бит?" Скажу больше - в отладчике (у ТСа IAR) тупо, не пиша ни строчки, руками можно в окошке периферии (т.е. АЦП) можно включить, выставить все биты и смотреть как работает АЦП ;-) при остановленном ядре. Ещё раз: GPIO настроили на аналоговую функцию? - Они аналоговые по сбросу, я их не трогал на выбранном порту. Где они аналоговые по сбросу? - Натуральный 0-й бит порта B Ж8-Ъ Модераторам: ну святое тему в "Начинающим"-раздел! Там хоть поглумиться не зазорно будет ;-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrBearManul 0 7 февраля, 2021 Опубликовано 7 февраля, 2021 · Жалоба 4 часа назад, Obam сказал: Где они аналоговые по сбросу? Здесь автор не ошибся, они действительно аналоговые по сбросу Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
whale 6 7 февраля, 2021 Опубликовано 7 февраля, 2021 (изменено) · Жалоба Как я и предполагал жопа была в калибровке которая почему то не проходит // калибровка ADC1->CR=0; ADC->CCR |= ADC_CCR_VREFEN; // вкл внутренний ИОН для калибровки ADC1->CR |= ADC_CR_ADCAL; // вкл калибровку while((ADC1->CR & ADC_CR_ADCAL) == ADC_CR_ADCAL); //пока ADCAL=1 ждем кстати если я ничего не путаю проц работает сейчас на частоте 128 мгц ;) ( по мануалу макс 64 мгц ) Изменено 7 февраля, 2021 пользователем whale Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 7 февраля, 2021 Опубликовано 7 февраля, 2021 · Жалоба Цитата The ADC has a specific internal voltage regulator which must be enabled and stable before using the ADC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SII 0 7 февраля, 2021 Опубликовано 7 февраля, 2021 · Жалоба А ещё может оказаться, что АЦП требуется отдельное тактирование. Кажись, в STM32L1xx именно так: проц и шины (а значит, и регистры АЦП) -- отдельно, а собственно АЦП -- отдельно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
whale 6 7 февраля, 2021 Опубликовано 7 февраля, 2021 · Жалоба 2 hours ago, adnega said: Не помогло, виснет на проверке // калибровка ADC1->CR=0; ADC1->CR |= ADC_CR_ADVREGEN; // ADC Voltage Regulator Enable ADC->CCR |= ADC_CCR_VREFEN; // вкл внутренний ИОН для калибровки ADC1->CR |= ADC_CR_ADCAL; // вкл калибровку while((ADC1->CR & ADC_CR_ADCAL) == ADC_CR_ADCAL); //пока ADCAL=1 ждем Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться