Например TDA7294

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



Текущее время: Вт июл 16, 2019 07:36:59

Часовой пояс: UTC + 3 часа [ Летнее время ]


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



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

Зарегистрирован: Сб ноя 12, 2011 09:57:58
Сообщений: 17
Откуда: Москва
Рейтинг сообщения: 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 18:59:22 
Держит паяльник хвостом
Аватар пользователя

Карма: 9
Рейтинг сообщений: 40
Зарегистрирован: Сб апр 02, 2011 18: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-ники. )
Изображение


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Помогите с STM32
СообщениеДобавлено: Чт дек 08, 2011 19:15:01 
Родился
Аватар пользователя

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


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

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

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

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


Вернуться наверх
 
Материалы вебинара: "Литиевые ХИТы FANSO или что нужно знать инженеру о батарейках"

На сайте Компэл доступны материалы вебинара, посвященного литиевым батарейкам FANSO. На мероприятии говорилось о том, на какие параметры следует обращать внимание, выбирая литиевый ХИТ, и как избежать некоторых проблем, затрагивались вопросы тестирования и пассивации батареек, и мн. др.
Вы можете посмотреть видеозапись вебинара, ознакомиться с презентацией и ответами на вопросы.
Подробнее>>
Не в сети
 Заголовок сообщения: Re: Помогите с STM32
СообщениеДобавлено: Ср дек 14, 2011 10:04:30 
Мучитель микросхем

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


Вернуться наверх
 
Конденсаторы Panasonic. Часть 1. Алюминий

Известная своими инновациями компания Panasonic даже в столь традиционные изделия как алюминиевые электролитические конденсаторы ухитряется вносить оригинальные и полезные конструктивные дополнения.
Отдельно можно выделить инновационное направление Panasonic, занимающееся разработкой и производством решений по отводу тепла, основу которого составляют специальные графитовые листы (семейство PGS). Емкостное направление Panasonic выпускает полимерные, пленочные и классические электролитические конденсаторы, о которых пойдет речь.
Подробнее>>
Не в сети
 Заголовок сообщения: Re: Помогите с STM32
СообщениеДобавлено: Ср дек 14, 2011 10:38:37 
Друг Кота
Аватар пользователя

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


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Помогите с STM32
СообщениеДобавлено: Пт дек 30, 2011 21:59:32 
Родился
Аватар пользователя

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


Вернуться наверх
 


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

Зарегистрирован: Чт апр 01, 2010 15: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, осилил дошел до прерываний и таймера и ... Подскажите пожалуста кто что может !


Вернуться наверх
 
Prist.ru предлагает скидку всем частным лицам при покупке приборов АКИП, GW Instek, APPA (кроме осциллографов АКИП-4115/1А, GDS-71102)!

Интересные новинки уже на складе:

Осциллограф АКИП-4126Е

Многоканальные источники питания серии GPP

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

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


Вернуться наверх
 
Купить электронные компоненты в LCSC

Отправка со склада через 4 часа после заказа!
900 000 пользователей, 3000+ заказов в день!
Зарегистрируйтесь сегодня и получите скидку 8 долларов на первый заказ!
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


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

Сейчас этот форум просматривают: Валерьян и гости: 6


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

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


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