-
- Я уже писала, что мой запуск выглядит так: Kceния(1028 знак., 30.08.2020 18:19)
- В догон. При софтверном запуске преобразования в коде КАЖДЫЙ запуск
должен сопровождаться (константа бита ADC_CR_ADSTART может быть
чуть другой по синтаксису - лень открывать проект с таким МК): my504(32 знак., 30.08.2020 18:53)
- Ну, а что мне делать, чтобы само в непрерывной моде работало? Не
успеваю я на каждое измерение ADC_CR_ADSTART давать. Тогда по
прерыванию придется работать, а это сильно тормозит контролер.
Надо, чтобы один раз запустить, а прерывание пришло только тогда,
когда буфер будет полностью заполнен. - Kceния(30.08.2020 19:00)
- Я уже объяснил - подключить в качестве семплирующего ТАЙМЕР. Так
делать правильно. Период таймера строго задаст период отсчетов.
Автозапусками семплирование реальных сигналов не задают. - my504(30.08.2020 19:10)
- Вроде бы есть автозапуск регулярного канала: my504(33 знак., 30.08.2020 19:26)
- Мне казалось, что Kceния(424 знак., 30.08.2020 19:41)
- А причем тут ADC_CR, когда речь идет об ADC_CFGR? Немного
информации. Дефайн битов регистров состоит из имени регистра (без
номера периферии) и имени бита через подчеркивание. my504(277 знак., 30.08.2020 20:54)
- Перепутала. Не помню я пока всех регистров наизусть :). - Kceния(30.08.2020 20:57)
- А их и не надо помнить. В рефмануале последним пунктом каждого раздела периферии идет описание регистров периферии. Несмотря на то, что Вам ближе HAL, настоятельно рекомендую держать рефмануал под рукой и сверяться в отладчике с реальным состоянием настроек. Кроме того, в отладчике можно руками дернуть биты регистров и если модификация невозможна, значит что то не так с последовательностью настроек и/или текущим состоянием периферии. Очень удобно детектировать проблемы. - my504(30.08.2020 21:07)
- Перепутала. Не помню я пока всех регистров наизусть :). - Kceния(30.08.2020 20:57)
- А причем тут ADC_CR, когда речь идет об ADC_CFGR? Немного
информации. Дефайн битов регистров состоит из имени регистра (без
номера периферии) и имени бита через подчеркивание. my504(277 знак., 30.08.2020 20:54)
- Мне казалось, что Kceния(424 знак., 30.08.2020 19:41)
- Вроде бы есть автозапуск регулярного канала: my504(33 знак., 30.08.2020 19:26)
- Я уже объяснил - подключить в качестве семплирующего ТАЙМЕР. Так
делать правильно. Период таймера строго задаст период отсчетов.
Автозапусками семплирование реальных сигналов не задают. - my504(30.08.2020 19:10)
- Ну, а что мне делать, чтобы само в непрерывной моде работало? Не
успеваю я на каждое измерение ADC_CR_ADSTART давать. Тогда по
прерыванию придется работать, а это сильно тормозит контролер.
Надо, чтобы один раз запустить, а прерывание пришло только тогда,
когда буфер будет полностью заполнен. - Kceния(30.08.2020 19:00)
- Ксения, запуск DMA никакого отношения к запуску ADC не имеет. DMA
тут стоит вторым в очереди на получение результата в ОЗУ. Кто-то
должен запустить преобразование самого ADC. У Вас, судя по всему,
это нужно делать руками, дергая где то в недрах одного из регистров
домена ADC какой то бит. Либо подключите один из таймеров в
качестве семплирующего к ADC, тогда он и будет генерировать события
запуска ADC. В этом случае сначала запускают DMA, а затем этот
таймер. - my504(30.08.2020 18:28)
- Но прежде я никаких таймеров не подключала - и без того работало. А
частотой семплирования управляла через: Kceния(174 знак., 30.08.2020 18:48)
- Ксения, это мне показалось или Вы в самом деле полагаете, что хамство лучший способ получения помощи? Я Вас не учу жить, любезная. Я объясняю принцип работы периферии МК. ADC_SAMPLETIME - это эквизишн тайм. Время выборки УВХ. При автоматическом запуске АЦП это время является частью времени между запусками, поэтому влияет на частоту семплирования. Откройте рефмануал и посмотрите как настраивать автозапуск. Но этого режима может и не быть. HALом я не пользуюсь. За сим my504(15 знак., 30.08.2020 18:59)
- Но прежде я никаких таймеров не подключала - и без того работало. А
частотой семплирования управляла через: Kceния(174 знак., 30.08.2020 18:48)
- В догон. При софтверном запуске преобразования в коде КАЖДЫЙ запуск
должен сопровождаться (константа бита ADC_CR_ADSTART может быть
чуть другой по синтаксису - лень открывать проект с таким МК): my504(32 знак., 30.08.2020 18:53)
- Я уже писала, что мой запуск выглядит так: Kceния(1028 знак., 30.08.2020 18:19)