Например TDA7294

Форум РадиоКот • Просмотр темы - Помогите с STM32
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 23, 2024 20:03:57

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Помогите с STM32
СообщениеДобавлено: Чт дек 08, 2011 16:51:36 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Сб ноя 12, 2011 08:57:58
Сообщений: 21
Откуда: Москва
Рейтинг сообщения: 0
Помогите пожалуйста с внешним прерыванием! Проблема в том, что при возникновении внешнего прерывания процессор на него реагирует, но не переходит в обработчик прерываний, а зависает где то! И в основной цикл не возвращается. Может кто знает в чем дело?

#include "stm32f10x.h"

int main()
{
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;

GPIOC->CRH |= GPIO_CRH_MODE9;
GPIOC->CRH &=~ GPIO_CRH_CNF9;

GPIOA->CRL |= GPIO_CRL_MODE0;
GPIOA->CRL &=~ GPIO_CRL_CNF0_0;

RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;
AFIO->EXTICR[0] |= AFIO_EXTICR1_EXTI0_PA;

EXTI->IMR |= EXTI_IMR_MR0;
EXTI->EMR |= EXTI_EMR_MR0;

EXTI->RTSR |= EXTI_RTSR_TR0;

NVIC_SetPriority(EXTI0_IRQn, 7);
NVIC_EnableIRQ(EXTI0_IRQn);

__enable_irq ();

while (1)
{
GPIOC->BSRR |= GPIO_BSRR_BS8;
for (volatile int x=0; x<100000; x++){}
GPIOC->BRR |= GPIO_BRR_BR8;
for (volatile int x=0; x<100000; x++){}
}
}

//Сам обработчик прерывания
void EXTI0_IRQHandler(void)
{
if ((EXTI->PR & EXTI_PR_PR0)==0)
{
GPIOC->BSRR |= GPIO_BSRR_BS9;
EXTI->PR |= EXTI_PR_PR0;
}
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с STM32
СообщениеДобавлено: Чт дек 08, 2011 17:59:22 
Держит паяльник хвостом
Аватар пользователя

Карма: 9
Рейтинг сообщений: 40
Зарегистрирован: Сб апр 02, 2011 17:59:22
Сообщений: 995
Откуда: Город-герой Севастополь
Рейтинг сообщения: 0
Что бросается в глаза сходу:
Код:
GPIOA->CRL |= GPIO_CRL_MODE0;
GPIOA->CRL &=~ GPIO_CRL_CNF0_0;

Чойта? Это же линия внешнего прерывания? Почему же биты MODE установлены? Сейчас вывод (в понимании "пин") настроен как GP+PP. Надо бы
Код:
GPIOA->CRL &= ~GPIO_CRL_MODE0;
GPIOA->CRL |= GPIO_CRL_CNF0_0;

Вроде никаких огрехов больше глаз не режет. =)

_________________
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с STM32
СообщениеДобавлено: Чт дек 08, 2011 18:15:01 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Сб ноя 12, 2011 08:57:58
Сообщений: 21
Откуда: Москва
Рейтинг сообщения: 0
Спасибо за ошибку! Странно,как я сам этого не заметил, но ситуация к сожалению не изменилась. Пробовал программно реализовать прерывание и все равно та же ситуация :(


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Помогите с STM32
СообщениеДобавлено: Ср дек 14, 2011 08:47:22 
Открыл глаза

Зарегистрирован: Пт апр 24, 2009 11:25:34
Сообщений: 71
Откуда: Rus
Рейтинг сообщения: 0
Сброс флага прерывания попробуйте не EXTI->PR |= EXTI_PR_PR0; а просто EXTI->PR = EXTI_PR_PR0; и выведите эту команду из условия.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Помогите с STM32
СообщениеДобавлено: Ср дек 14, 2011 09:04:30 
Мучитель микросхем

Зарегистрирован: Вт июл 22, 2008 08:10:54
Сообщений: 492
Рейтинг сообщения: 0
А функция в вектор прерываний у вас прописана?


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Помогите с STM32
СообщениеДобавлено: Ср дек 14, 2011 09:38:37 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Было такое - не подключил startup_stm32f10x_ld_vl.s. Это для STM32F100C4.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с STM32
СообщениеДобавлено: Пт дек 30, 2011 20:59:32 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Сб ноя 12, 2011 08:57:58
Сообщений: 21
Откуда: Москва
Рейтинг сообщения: 0
Проблема была в том, что не подключил файл startup_stm32f10x_ld_vl.s :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с STM32
СообщениеДобавлено: Вс июл 08, 2012 15:58:54 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт апр 01, 2010 14:14:55
Сообщений: 271
Рейтинг сообщения: 0
Аналогичная проблема не переходит в обработчик прерывания, после подключения startup_stm32f10x_md_vl.s IAR находит 100 ошибок в подключенном startup_stm32f10x_md_vl.s практически все ощибки Error[Pe065]: expected a ";" ну и другие есть ругается практически на каждую строчку кода... камень stm32f100rb на stm32f100discovery... с stm32 и IAR не так давно, прошу помочь более опытных !!!

void TIM1_TRG_COM_TIM17_IRQHandler(void) //обработчик прерывания
{
....
}

но в дебареге и на деле видно что в обработчик программа не попадает просто зависает и все! (в обработчике у меня должен загорается светодиод, этого не происходит)

GPIO, uart, spi, dma, rcc, осилил дошел до прерываний и таймера и ... Подскажите пожалуста кто что может !


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с STM32
СообщениеДобавлено: Вс июл 08, 2012 20:15:42 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт апр 01, 2010 14:14:55
Сообщений: 271
Рейтинг сообщения: 0
sorry за глупый вопрос. Разобрался 8)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: mab72 и гости: 26


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y