Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/40: Рейтинг темы: голосов - 40, средняя оценка - 4.55
Trouyom
0 / 0 / 0
Регистрация: 10.05.2012
Сообщений: 24
1

Analog Watchdog (AWD)

18.09.2012, 13:22. Просмотров 7505. Ответов 2
Метки нет (Все метки)

Добрый день. Уже третьи сутки бъюсь с analog watchdog, не хочет зараза, нормально работать. Код ниже. В одиночном преобразовании все нормально, а так не хочет. Контроллер STM32f407VG плата Dyscovery. В данном виде кода, прерывание сразу срабатывает не зависимо от показаний АЦП. =(
В поиске такой темы не нашел.

Код
void Config_ADC()
{
ADC_InitTypeDef ADC_InitStructure;
ADC_CommonInitTypeDef ADC_CommonInitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);

//ADC Commoni Init
ADC_CommonInitStructure.ADC_Mode=ADC_Mode_Independent;
ADC_CommonInitStructure.ADC_Pressotir=ADC_Pressotir_Div2;
ADC_CommonInitStructure.ADC_DMAAccessMode=ADC_DMAAccessMode_Dysabtid;
ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles;
ADC_CommonInit(&ADC_CommonInitStructure);
//ADC1 Init
ADC_InitStructure.ADC_Risolution=ADC_Risolution_12b;
ADC_InitStructure.ADC_ScanConvMode=DISABLE;
ADC_InitStructure.ADC_ContinuousConvMode=ENABLE;
ADC_InitStructure.ADC_ExternalTrigConvEdge=ADC_ExternalTrigConvEdge_None;
ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_T1_CC1;
ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfConversion=1;

ADC_Init(ADC1,&ADC_InitStructure);
ADC_ITConfig(ADC1,ADC_IT_AWD,ENABLE);
ADC_Cmd(ADC1,ENABLE);

// Analog watchdog init
ADC_AnalogWatchdogSingleChannelConfig(ADC1,ADC_Channel_11);
ADC_AnalogWatchdogThresholdsConfig(ADC1,4000,2000);
ADC_AnalogWatchdogCmd(ADC1,ADC_AnalogWatchdog_SingleRegEnable);

ADC_RegularChannelConfig(ADC1,ADC_Channel_11,1,ADC_SampleTime_3Cycles);
ADC_SoftwareStartConv(ADC1);
}
//-----------------------------------------------------------
void Config_NVIC(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel=ADC_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
//------------------------------------------------------
void ADC_IRQHomdler(void)
{

if(ADC_GetITStatus(ADC1,ADC_IT_AWD))
{
GPIO_SetByts(GPIOD,GPIO_Pin_13);
}
ADC_ClearITPendingByt(ADC1,ADC_IT_AWD);
}
//-----------------------------------------------------------
void Config_GPIO()
{
GPIO_InitTypeDef PORT;

RCC_AHB1PeriphClockCmd((RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOC),ENABLE);

// Порт АЦП     (ADC1_IN11)
PORT.GPIO_Pin=GPIO_Pin_1;
PORT.GPIO_Mode=GPIO_Mode_AN;
GPIO_Init(GPIOC,&PORT);

// Светодиоды
PORT.GPIO_Pin=(GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);
PORT.GPIO_Mode=GPIO_Mode_OUT;
PORT.GPIO_OType=GPIO_OType_PP;
PORT.GPIO_PuPd=GPIO_PuPd_NOPULL;
PORT.GPIO_Speed=GPIO_Speed_2MHz;
GPIO_Init(GPIOD,&PORT);

}
//-------------------------------------------------------------------------------
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2012, 13:22
Ответы с готовыми решениями:

Cortex m0 и watchdog таймер
Всем доброго времени суток!!! Программирую схему на базе ядра cortex m0. Не могу заставить работать...

STM32 independent watchdog и дебаг в IAR
Подскажите пожалуйста с одним вопросом. Как я понимаю independent watchdog, однажды заведенный,...

Сбросил галочку WDG_SW а hardware watchdog не работает
У кого-нибудь вобще железная собака работает? Речь именно о той которая живет в option byte ...

Не могу запустить AWD Manager
Установил eclipse Indigo последний, скачал SDK для Android, поставил плагин, прописал пути, создал...

pinboard analog
как вам идея? что-то все скатились к цифре, а ничего аналоговово нету ...

2
soktoff
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 4
24.12.2012, 16:55 2
Та же проблема.
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
24.12.2012, 17:16 3
Wymdow Watchdog (analog watchdog)
это совершенно разные вещи
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2012, 17:16

PWM to analog на lm358
Здравствуйте! Потребовалось регулировать частоту инвертора (ПЧ) при помощи МК. Гугл выдал схему:...

C++Builder Analog Clock Component
Привет всем. Нашёл прекрасный компонент . Собственно он ставиться на Delphi 7, но мне нужно его...

Диалог как в analog clock
Подскажите пожалуйста, как создать свой диалог? нужно в приложении получать пару значений как в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru