Перейти к содержанию
    

Нужна помощь по ADC stm32f303 )

40 минут назад, khlenar сказал:

Одного НТ достаточно.

Заполнились первые 2 отсчета, появилось прерывание DMA. Почему вы обращаетесь ко всем четырем - в двух-то еще пусто.

Может, вы HT и TC перепутали? Но даже в этом случае вы будете тягать данные с нулевого элемента,

а там уже может оказаться новое измерение, или еще старое лежать, или случайное старое/новое, и это не только нулевого элемента касается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну в любом случае конвертируется 1 раз и все, больше прерывания не происходит. я писал, что полностью код исключал, оставлял только сброс прерывания, все равно только один раз происходит прерывание при старте. Такое впечатление, что АЦП 1 раз преобразует и засыпает.

Режим в битах стоит непрерывное преобразование.

В регистре данных DR почему то сразу заполняется 0хFF

Хотя да, там у меня операционник с неподключенным входом, та выход по максимуму.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

54 minutes ago, khlenar said:

На 303 столкнулся с непонятками.

У вас написано, что стар преобразования происходит программно. Но где он фактически происходит? В какой строке?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

/* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_SPI2_Init();
  MX_I2C1_Init();
  MX_ADC1_Init();
  MX_ADC2_Init();
  MX_TIM2_Init();
  MX_DMA_Init();
  MX_TIM3_Init();
  /* USER CODE BEGIN 2 */

  ADC1nextinit();
  ADC2nextinit();
  LL_ADC_REG_StartConversion(ADC1);
  LL_ADC_REG_StartConversion(ADC2);

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, adnega сказал:

Ответьте на прямой вопрос: может быть так, что вы входите в такой обработчик, а флаг события при этом сброшен?

1) Если источник прерывания на данном векторе единственный;

2) если этот флаг программист не очищал где-то помимо этого ISR (криво, так что флаг в регистре периферии очистился, а в pending-регистре NVIC - остался);

3) если не генерил этого прерывания программно (через соответствующий регистр NVIC)

Если это всё выполняется - то должен быть установлен на входе в ISR.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вроде, все ок, кроме OVR, но вы это и сами знали.

Тогда давайте смотреть ADC1_CFGR и DMA1_CCR1.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем то я здесь тоже криминала не вижу)

А нет, PSIZE 0 это значит 8битная переферия

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странно, т.к. у вас

LL_DMA_SetPeriphSize(DMA1, LL_DMA_CHANNEL_1, LL_DMA_PDATAALIGN_HALFWORD);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да. я поправил это дело, сейчас он 16 битный, но все равно не помогло(

Блин, хоть в одиночный ставь и каждый раз запускай его. Тогда нафиг этот DMA нужен (

Тут явно DMA не работает

А может АЦП )) Ведь по сути АЦП должно давать прерывание по окончании конверсии

Ошибки кристала надо почитать. может есть че

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Каким то образом не устанавливается флаг HTIFx потому, что если я его не сбрасываю, то у меня зацикливается в DMA прерывании.

к стати я вот вижу , что в DMA CCR1 не установлен MINC а это инкремент памяти. Елки палки. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мля, заработал )))

DMA совсем не настроен был. См. вверху. А что, куб там какие то кода пишет, а в итоге регистры не настроены )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...