реклама на сайте
подробности

 
 
> АЦП в STM32F100, не работает
ELEKTROS
сообщение Jul 27 2011, 17:43
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 294
Регистрация: 29-06-11
Пользователь №: 65 952



Добрый день, что то с АЦП не ладиться у меня пните в нужном направлении или подскажите что не так?
Код
  RCC->CFGR &= ~RCC_CFGR_ADCPRE;
  RCC->CFGR |= RCC_CFGR_ADCPRE_DIV2;
  RCC->APB2ENR |= RCC_APB2ENR_ADC1EN;
  ADC1->CR1=ADC_CR1_SCAN|ADC_CR1_JAUTO;
  ADC1->CR2=ADC_CR2_ADON|ADC_CR2_CONT|ADC_CR2_JSWSTART;
  ADC1->SMPR2=ADC_SMPR2_SMP4_1|ADC_SMPR2_SMP5_1;
  ADC1->JSQR=ADC_JSQR_JL_0|ADC_JSQR_JSQ1_2|ADC_JSQR_JSQ2_0|ADC_JSQR_JSQ2_2;
  //// калибровка АЦП ////
  ADC1->CR2 |= ADC_CR2_RSTCAL;
  while ((ADC1->CR2 & ADC_CR2_RSTCAL) == ADC_CR2_RSTCAL);
  ADC1->CR2 |= ADC_CR2_CAL;
  while ((ADC1->CR2 & ADC_CR2_RSTCAL) == ADC_CR2_CAL);
  ADC1->CR2=ADC_CR2_ADON;

Хочу использовать ижекционных канала два 4 и 5-й в непрерывном преобразовании.
потом считываю просто из регистров ADC_JDR1_JDATA и ADC_JDR2_JDATA в любой момент времени. А там постоянно висят единицы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
ELEKTROS
сообщение Sep 5 2011, 08:17
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 294
Регистрация: 29-06-11
Пользователь №: 65 952



Кто нибудь подскажет? А то месяц был в отпуске не было возможности поиграться.
Go to the top of the page
 
+Quote Post
GYUR22
сообщение Sep 5 2011, 12:26
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 16-02-09
Пользователь №: 44 931



http://we.easyelectronics.ru/STM32/stm32-i...enie-bryuk.html
немножко по тупому сделал но для начала пойдет
Go to the top of the page
 
+Quote Post
ELEKTROS
сообщение Sep 12 2011, 07:16
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 294
Регистрация: 29-06-11
Пользователь №: 65 952



Вообщем, видать АЦП не запускается потому что все регистры согласно тому что хочу записаны. Программный запуск, два ижекционных канала. Немного подправил так наверное должно быть, но опять не хочет. Читаю вот отсюда ADC1->JDR1 и ADC1->JDR2.
Код
RCC->CFGR &= ~RCC_CFGR_ADCPRE;
  RCC->CFGR |= RCC_CFGR_ADCPRE_DIV2;
  RCC->APB2ENR |= RCC_APB2ENR_ADC1EN;
  ADC1->CR1=ADC_CR1_SCAN|ADC_CR1_JAUTO;
  ADC1->CR2=ADC_CR2_EXTSEL | ADC_CR2_JEXTSEL | ADC_CR2_CONT | ADC_CR2_JSWSTART;
  ADC1->SMPR2=ADC_SMPR2_SMP4_1|ADC_SMPR2_SMP5_1;
  ADC1->SQR1=ADC_SQR1_L_0;
  ADC1->SQR3=ADC_SQR3_SQ1_2|ADC_SQR3_SQ2_2|ADC_SQR3_SQ2_0;
  ADC1->JSQR=ADC_JSQR_JL_0|ADC_JSQR_JSQ1_2|ADC_JSQR_JSQ2_0|ADC_JSQR_JSQ2_2;
  //ADC1->CR2 |=ADC_CR2_ADON;
  SETBIT_REG_PERIPH(ADC1->CR2,0);
  ADC1->CR2 |= ADC_CR2_RSTCAL;
  while ((ADC1->CR2 & ADC_CR2_RSTCAL) == ADC_CR2_RSTCAL);
  ADC1->CR2 |= ADC_CR2_CAL;
  while ((ADC1->CR2 & ADC_CR2_RSTCAL) == ADC_CR2_CAL);
Go to the top of the page
 
+Quote Post
ELEKTROS
сообщение Sep 12 2011, 10:03
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 294
Регистрация: 29-06-11
Пользователь №: 65 952



А такой глупый вопрос ижекционные каналы могут работать без регулярных?
Go to the top of the page
 
+Quote Post
ELEKTROS
сообщение Sep 12 2011, 12:03
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 294
Регистрация: 29-06-11
Пользователь №: 65 952



Спасибо за "подсказки". Если кому интересно вот так заработало:
Код
RCC->CFGR &= ~RCC_CFGR_ADCPRE;
  RCC->CFGR |= RCC_CFGR_ADCPRE_DIV2;
  RCC->APB2ENR |= RCC_APB2ENR_ADC1EN;
  
  ADC1->CR1= ADC_CR1_JDISCEN|ADC_CR1_JAUTO;
  ADC1->CR2= ADC_CR2_EXTSEL | ADC_CR2_JEXTSEL | ADC_CR2_EXTTRIG | ADC_CR2_JEXTTRIG | ADC_CR2_CONT;
  ADC1->SMPR2=ADC_SMPR2_SMP4_1|ADC_SMPR2_SMP5_1;
  ADC1->JSQR=ADC_JSQR_JL_0 | ADC_JSQR_JSQ3_2 | ADC_JSQR_JSQ4_2 | ADC_JSQR_JSQ4_0;
  ADC1->CR2 |=ADC_CR2_ADON;
  ADC1->CR2 |= ADC_CR2_RSTCAL;
  while ((ADC1->CR2 & ADC_CR2_RSTCAL) == ADC_CR2_RSTCAL)
    {
    }
  ADC1->CR2 |= ADC_CR2_CAL;
  while ((ADC1->CR2 & ADC_CR2_RSTCAL) == ADC_CR2_CAL)
    {
    }
  ADC1->CR2 |= ADC_CR2_JSWSTART;

и в основном цикле вот такая строка(хотя можно и через какоето время вызывать):
if((ADC1->CR2 & ADC_CR2_JSWSTART)==0) ADC1->CR2 |= ADC_CR2_JSWSTART;
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01398 секунд с 7
ELECTRONIX ©2004-2016