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

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

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

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

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

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


 
Опции темы
Непрочитано 15.10.2022, 22:30  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Имя функции обработчика прерывания объявлено в ассемблерном файле startup_stm32f10x_md.s в секции g_pfnVectors: .word EXTI1_IRQHandler. Поэтому, когда пишите void EXTI1_IRQHandler(void) { ... }, компилятор берет адрес функции EXTI1_IRQHandler и помещает ее в таблицу векторов. Для этого, имя функции должно до буквы совпадать с прописанными в стартапе именами. Иначе, компилятор не увидит соответствий и в таблицу векторов впишет адрес дефолтного обработчика Default_Handler (пустой бесконечный цикл).
В других местах объявлять функцию-обработчик не требуется, всё уже записано в стартап-файле.

Что соппсна у автора, вероятно, и происходит. Поскольку обработчика EXTI0_IRQHandler я чет не увидел. Хотя автор пишет как-то сумбурно - в коде одно, в комментах другое. Хтоп знал, как оно на самом деле должно у него быть.
Реклама:
NewWriter вне форума  
Непрочитано 15.10.2022, 22:57  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

NewWriter, все так. Но тут немного о другом. Об объявлении функции. Поместите функцию обработки прерывания в другой файл. И не объявите ее в h файле. Или другом месте. И компилятор не заменит адрес дефаултного прерывания на вашу функцию.
Понятно, что название до буквы совпадать должно.
sat_art вне форума  
Непрочитано 15.10.2022, 23:12  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Чой-то не будет помещать то? Поскольку стартап в большинстве случаев написан на ассемблере, то вначале работает ассемблерный сборщик, а там то как раз и есть это объявление как weak (слабосвязанная функция), которая работает по принципу "если где-то встретилось такое же имя, то именно оно оттудава будет вставлено в конечную сборку, в противном случае действительным будет то, что написано с weak".
Миниатюры:
Нажмите на изображение для увеличения
Название: Снимок экрана 2022-10-16 010831.png
Просмотров: 0
Размер:	87.3 Кб
ID:	173159  
NewWriter вне форума  
Непрочитано 16.10.2022, 02:22  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 709
Сказал спасибо: 363
Сказали Спасибо 795 раз(а) в 370 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

К слову, прерывания EXTI можно сгенерировать программно путём установки соответствующих битов в регистре EXTI-›SWIER (software interrupt event register). Если не попали в обработчик - значит, нужно искать косяк в настройках/во внешних соединениях.
j-Roger вне форума  
Непрочитано 01.12.2022, 12:29  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Мужики, а кто-нибудь на STM32F103C6T6 поднимал CAN?
У меня мистика какая-то: как только подключаю преобразователь уровней (MCP2551 или TJA1050), МК не может выйти из состояния инициализации в режиме test, даже если я вообще не инициализирую ноги PB8/PB9. Если ничего к этим ногам не подключено, в режиме test все работает. Но стоит мне нормальный режим выставить — вообще никак… INAK стоит как вкопанный!
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 01.12.2022, 17:40  
neyvert
Прописка
 
Регистрация: 29.06.2010
Сообщений: 104
Сказал спасибо: 14
Сказали Спасибо 9 раз(а) в 7 сообщении(ях)
neyvert на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

А на стандартных ногах РА11/ РА12 ? может с AF где косяк
neyvert вне форума  
Непрочитано 01.12.2022, 20:55  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,169
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

eddy, а что показывает измерение на ногах в процессе?
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 03.02.2023, 20:05  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию

С ногами вроде разобрался: я PB8 сдуру на выход настроил - сам свои же макросы забыл. Остаётся разобраться, почему всё-таки в шину данные не идут, но это уже в понедельник осциллографом буду проверять.
Тут ведь ещё и МК - китайские STM32C6T6...

Интересное кино: в STM32F303, которые C и B, USB - альтернативная функция, а в тех, что D и E — "дополнительная"! Т.е. альтернативную настраивать не нужно… Благо, хоть та же AF14 у них ничем не занята, а то был бы прикол с переносом кода…
И тут встает вопрос: что им в MODER писать? Пошел я мануал курить. UPD: а фиг! Нет такого!
__________________
Союз Советских Социалистических Округов Северной Америки

Последний раз редактировалось mike-y-k; 10.05.2023 в 18:02. Причина: 6.6
eddy вне форума  
Непрочитано 10.02.2023, 23:42  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,532
Сказал спасибо: 172
Сказали Спасибо 1,561 раз(а) в 811 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от eddy Посмотреть сообщение
И тут встает вопрос: что им в MODER писать? Пошел я мануал курить. UPD: а фиг! Нет такого!
Чего нет, мануала или MODER?
realid вне форума  
Сказали "Спасибо" realid
mike-y-k (11.02.2023)
Непрочитано 11.02.2023, 00:16  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

В мануале не написано, что туда надо. Но "методом Монте-Карло" оказалось, что просто нуль в MODER нужно оставить. И оно само взлетает.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


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


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