Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 03.07.2013, 10:50  
kvark85
Прописка
 
Регистрация: 31.08.2008
Сообщений: 183
Сказал спасибо: 25
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
kvark85 на пути к лучшему
По умолчанию stm32 после запуска ADC1 не выставляется EOC

среда IAR. STM32L-DISCOVERY. после запуска одиночного преобразования не выставляется бит EOC. если его вообше не опрашивать (не ожидать его выставления) - ADC работает, а с ожиданием - нет.

Только что выяснил что цикл ожидания проходит успешно, только пошагово его прошагать нельзя, если шагать по программе (F11) на цикле while ((ADC1-›SR & ADC_SR_EOC) != ADC_SR_EOC) программа останавливается навсегда. особенность IAR что ли...

код

int main()
{

//------------------- настройка портов ввода вывода -------------------

//тактирование порта С
RCC-›APB2ENR |= RCC_APB2ENR_IOPCEN; //тактирование порта C, на нем светодиоды и ADC вход

//настрйка портов ввода вывода

GPIOC-›CRH |= GPIO_CRH_MODE8_0; //вывод PC8 порта B настраиваем как выход, светодиод 1
GPIOC-›CRH &= ~GPIO_CRL_CNF0; //режим Push-Pull для вывода PC8 порта C, светодиод 1

GPIOC-›CRH |= GPIO_CRH_MODE9_0; //вывод PC9 порта B настраиваем как выход, светодиод 2
GPIOC-›CRH &= ~GPIO_CRL_CNF1; //режим Push-Pull для вывода PC9 порта C, светодиод 2

GPIOC-›CRH |= GPIO_CRH_MODE10_0; //вывод PC1 порта B настраиваем как выход
GPIOC-›CRH &= ~GPIO_CRL_CNF2; //режим Push-Pull для вывода PC1 порта C

//настройка ADC
GPIOC-›CRL &= ~GPIO_CRL_MODE; //настройка входа ADC - вход
GPIOC-›CRL |= GPIO_CRL_CNF0_0; //без подтяжки

//--------------------------- настройка ADC ---------------------------/

//void mcu_adc_init(void) //настройка ADC
RCC-›CFGR &= ~RCC_CFGR_ADCPRE; //обнуялем биты предделитяля (неизмен)
RCC-›CFGR |= RCC_CFGR_ADCPRE_DIV2; //устанавливаем биты предделителя (неизмен)
RCC-›APB2ENR |= RCC_APB2ENR_ADC1EN; //разрешаем тактирование модуля ADC1

ADC1-›SQR1 &= ~ADC_SQR1_L ; //биты L указывающие колличество в группе regular. 0000 - одно преобразование
ADC1-›SQR3 = ADC_SQR3_SQ1_1 | ADC_SQR3_SQ1_3; //выставляем P0 - входом ADC
ADC1-›CR2 = ADC_CR2_EXTSEL_0 | ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_2 | ADC_CR2_EXTTRIG; //выставляем от чего будет запускаться ADC

ADC1-›CR2 |= ADC_CR2_ADON; //подаем питание на ADC

ADC1-›CR2 |= ADC_CR2_RSTCAL; //производим каллибровку
while ((ADC1-›CR2 & ADC_CR2_RSTCAL) == ADC_CR2_RSTCAL) {}
ADC1-›CR2 |= ADC_CR2_CAL;
while ((ADC1-›CR2 & ADC_CR2_CAL) == ADC_CR2_CAL) {}

//--------------------------- основной цикл ---------------------------/


while(1)
{
ADC1-›CR2 |= ADC_CR2_SWSTART; //запуск преобразования ADC
//while ((ADC1-›SR & ADC_SR_EOC) != ADC_SR_EOC){} ; //ожидание преобразования
/* !!!! с раскоментированной строкой выше не работает !!!
}
}

может кто знает в чем проблема?
Реклама:
__________________
Kvsrk85(Андрей)

Последний раз редактировалось kvark85; 03.07.2013 в 10:57.
kvark85 вне форума  
Непрочитано 03.07.2013, 11:29  
nahimovv
Заблокирован
 
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
nahimovv на пути к лучшему
По умолчанию Re: stm32 после запуска ADC1 не выставляется EOC

Теперь будете знать, что "пошагово его прошагать нельзя".
И дело не в ADC1, и не IAR. Ставьте точку останова после цикла проверки флага.
nahimovv вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изучаем STM32 Cortex M3 EugVor ARM 6166 19.02.2024 18:22
uVision и библиотеки stm32 peripheral library - проблемы с дебагом и АЦП ) rukez Микроконтроллеры, АЦП, память и т.д 11 13.02.2011 15:35


Часовой пояс GMT +4, время: 06:53.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot