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

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

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

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

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

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


 
Опции темы
Непрочитано 05.09.2022, 18:25  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,655
Сказал спасибо: 117
Сказали Спасибо 815 раз(а) в 592 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Да заработало уже, без всех этих ваших убогих дебаггеров. С gdb разбираться - жесть просто, и все равно ничего путного не выходит.
Опять, кстати, на странную хрень наткнулся. Если написать так:
Код:
RCC-›APB2ENR = RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPBEN | RCC_APB2ENR_IOPCEN | RCC_APB2ENR_AFIOEN;
AFIO-›MAPR = AFIO_MAPR_SWJ_CFG_JTAGDISABLE;
GPIOA-›CRH = CRH(15, CNF_PPOUTPUT | MODE_SLOW);
то работает. Если выкинуть RCC_APB2ENR_IOPBEN (т.к. порт B у меня не используется), то подтяжка USB не работает. Но если перед вызовом второй строки воткнуть инициализацию других ног, не требующих отключения JTAG, то все ОК.
Когда-то давно я на такую бредятину уже натыкался. И совсем из головы вылетело. Целых пару часов тыкался: ну не срабатывает подтяжка, и все тут!

С нерабочим SPI тоже бред какой-то: я в функции mymemcpy забыл инкремент (т.е. в буфере только первый байт копировался), но к работе SPI это вообще отношения не имеет. И DMA не заводилось! Как только добавил инкременты, все заработало. Я вообще охреневаю: как такое возможно? DMA абсолютно пофиг, какие массивы копировать, абы длину задали и массивы указали. И, главное, в листинге все есть, компилятор там ничего важного не выкинул, решив соптимизировать...
Реклама:
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!

Последний раз редактировалось eddy; 05.09.2022 в 18:28.
eddy вне форума  
Непрочитано 06.09.2022, 06:26  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от eddy Посмотреть сообщение
я в функции mymemcpy забыл инкремент
Ну я ж говорил, что сам там косячишь, я ж говорил, что в этой функции ошибка! И с остальными проблемами - тоже САМ КОСЯЧИШЬ. Но упорно тычешься в стены с завязанными глазами. Ну чтож, твое право - косячить и мучиться, если тебе нравится доставлять боль себе самому. Продолжай в том же духе
NewWriter вне форума  
Сказали "Спасибо" NewWriter
Variant99 (06.09.2022)
Непрочитано 13.10.2022, 20:03  
seeker-rzd
Частый гость
 
Аватар для seeker-rzd
 
Регистрация: 28.12.2010
Адрес: Красноярск
Сообщений: 44
Сказал спасибо: 183
Сказали Спасибо 27 раз(а) в 14 сообщении(ях)
seeker-rzd на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Добрый день всем !
Пока появилось время решил поразбираться c STM32F103C8T6. Работа с портами на ввод- вывод понятна, а вот в прерываниях хорошо зарылся и выхода пока не вижу. Идея вроде бы простая - запустить прерывания от кнопки , прицепленной к PA1 контроллера. Вроде бы все по даташиту делаю, да и сторонние проекты смотрел - крамольного ничего не могу найти в исходном коде, но контроллер упорно не выходит в прерывание. Подкиньте идею - в какую сторону копать...
Компилятор - KEIL 5, схема - в pdf файле, программа - в тхт. Ну и в скриншоте- опции проекта...
Миниатюры:
Нажмите на изображение для увеличения
Название: projectOptions.jpg
Просмотров: 0
Размер:	438.0 Кб
ID:	173123  
Вложения:
Тип файла: txt main_1.txt (2.7 Кб, 0 просмотров)
Тип файла: pdf STM32F103C8T6_board.PDF (14.2 Кб, 0 просмотров)
seeker-rzd вне форума  
Непрочитано 13.10.2022, 21:20  
Murka-MakMur
Вид на жительство
 
Аватар для Murka-MakMur
 
Регистрация: 05.09.2007
Адрес: Новороссия ЛНР Рубежное -> РФ Калуга
Сообщений: 360
Сказал спасибо: 10
Сказали Спасибо 73 раз(а) в 58 сообщении(ях)
Murka-MakMur на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

seeker-rzd, ИМХО не успеваешь нажать кнопку во время инициализации.
Перенеси отслеживание нажатие кнопки в while
__________________
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы.
Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
Не зли меня
Murka-MakMur вне форума  
Сказали "Спасибо" Murka-MakMur
seeker-rzd (14.10.2022)
Непрочитано 13.10.2022, 23:56  
dgrishin
Почётный гражданин KAZUS.RU
 
Регистрация: 12.02.2013
Сообщений: 1,047
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
dgrishin на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от seeker-rzd Посмотреть сообщение
Подкиньте идею - в какую сторону копать...
GPIOA-›CRL &= ~(GPIO_CRL_MODE1 | GPIO_CRL_CNF1); // PA1- вход

Имхо для EXTI порт должен быть настроен как AF - а по вашему комменту он у вас input
dgrishin вне форума  
Эти 2 пользователя(ей) сказали Спасибо dgrishin за это сообщение:
mike-y-k (14.10.2022), seeker-rzd (14.10.2022)
Непрочитано 14.10.2022, 02:13  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 748
Сказал спасибо: 365
Сказали Спасибо 822 раз(а) в 386 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от seeker-rzd Посмотреть сообщение
в какую сторону копать..
1) Убедиться, что в проекте используется startup-файл, где определена таблица векторов прерываний (там имена векторов помечены атрибутом "weak").
2) Убедиться, что имя обработчика прерывания в своем коде в точности соответствует таковому в таблице векторов.
3) Если грузим прошивку в SRAM, то не забываем указать в регистре SCB-›VTOR положение таблицы векторов в области SRAM:

PHP код:
// Для SRAM таблица векторов с адреса начала SRAM:
SCB-›VTOR SRAM_BASE/* Vector Table Relocation in Internal SRAM. */

// Для FLASH таблица векторов с адреса начала FLASH:
SCB-›VTOR FLASH_BASE/* Vector Table Relocation in Internal FLASH. */ 
P.S.
У F103 для прерываний EXTI нет настройки "AF Input", достаточно просто настройки на вход ( как у ТС ).

P.P.S
У TC все настройки МК сделаны "руками", так что в startup-файле можно закомментировать вызов SystemInit().

P.P.P.S.
Все изложенное касается GCC; в Keil, думается, со startup-ом должно быть аналогично.

Последний раз редактировалось j-Roger; 14.10.2022 в 02:18. Причина: Исправление арфографичезких ашыпков
j-Roger вне форума  
Эти 2 пользователя(ей) сказали Спасибо j-Roger за это сообщение:
mike-y-k (14.10.2022), seeker-rzd (14.10.2022)
Непрочитано 14.10.2022, 09:58  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 434
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

А где то есть строка?
void EXTI1_IRQHandler( void );
sat_art вне форума  
Сказали "Спасибо" sat_art
mike-y-k (14.10.2022)
Непрочитано 15.10.2022, 18:53  
seeker-rzd
Частый гость
 
Аватар для seeker-rzd
 
Регистрация: 28.12.2010
Адрес: Красноярск
Сообщений: 44
Сказал спасибо: 183
Сказали Спасибо 27 раз(а) в 14 сообщении(ях)
seeker-rzd на пути к лучшему
По умолчанию

Сообщение от sat_art Посмотреть сообщение
А где то есть строка?
void EXTI1_IRQHandler( void );
эта строка здесь ни к чему, поскольку обработчик прерывания объявлен перед главной функцией - main( ).

Спасибо всем неравнодушным... ну и остальным форумчанам заодно. Проблема решилась очень странно. Некогда заказывал два контроллера на пробу, вот когда распаял на плату- переходник второй контроллер и воткнул в макет - сразу же все заработало. Для меня это более чем непонятно, поскольку предварительно проверил монтаж на наличие КЗ, на то, что все пропаяно... в общем - проект заработал, но появились новые вопросы к самому себе.

Последний раз редактировалось mike-y-k; 10.05.2023 в 18:02. Причина: 6.6
seeker-rzd вне форума  
Непрочитано 15.10.2022, 21:47  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Цитата:
RCC-›CR |= RCC_CR_HSION; // включен внешний кварц на 8 МГЦ
Внешний кварц - это HSE (High-speed External). А внутренний осциллятор HSI (High-speed Internal) при запуске после сброса уже включен и без того, запускается всегда на внутреннем HSI, его включать не нужно.
__enable_irq(); - тоже не нужно, уже включено по умолчанию при старте.
NewWriter вне форума  
Непрочитано 15.10.2022, 22:00  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 434
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от seeker-rzd Посмотреть сообщение
эта строка здесь ни к чему, поскольку обработчик прерывания объявлен перед главной функцией - main( ).
Я согласен. Но вопрос не в вызове функции из майн или ниже ее объявления, а в поведении компилятора (линковщика). Эта функция не вызывается в вашем файле, а заменяет функцию обработки прерывания хер знает где.
В данном случае у вас все хорошо скомпилилось, но могло и нет.
Я такие вещи объявляю, мало ли что.
sat_art вне форума  
 

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

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

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, время: 04:55.


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