Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

stm32 после запуска ADC1 не выставляется EOC

Непрочитано 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,427
Сказал спасибо: 0
Сказали Спасибо 381 раз(а) в 251 сообщении(ях)
nahimovv на пути к лучшему
По умолчанию Re: stm32 после запуска ADC1 не выставляется EOC

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

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

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

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

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


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.