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

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

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

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

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

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


 
Опции темы
Непрочитано 22.08.2021, 04:01  
tester01
Частый гость
 
Регистрация: 19.07.2021
Сообщений: 28
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
tester01 на пути к лучшему
По умолчанию Re: stm32 interrupt

Сообщение от akegor Посмотреть сообщение
Внешняя подтяжка не больше 30 кОм должна помочь. Или схема из второго поста.
Я на 10к ставил, но правда только на одну из кнопок для теста. Пробовал нажимать на соседние кнопки после этого, и с этой кнопки с резистором все равно приходило прерывание. Буду тогда вторую схему пробовать, если и с ней не выйдет без прерываний придется делать, а то уже и так на этой проблеме на несколько дней завис. Но конечно все равно интересно докопаться почему так происходит
Реклама:
tester01 вне форума  
Непрочитано 22.08.2021, 04:09  
tester01
Частый гость
 
Регистрация: 19.07.2021
Сообщений: 28
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
tester01 на пути к лучшему
По умолчанию Re: stm32 interrupt

Сообщение от j-Roger Посмотреть сообщение
Не помешало бы убедиться, что флаги Pending register (EXTI_PR) для подключенных кнопок своевременно и корректно очищаются. Для очистки достаточна просто запись 1 в бит(ы), без RMW.
И вообще проверить код.
Мне кажется что не откуда там взяться флагам, т.к. просто подаю питание, потом жму на только одну из кнопок все время, и периодически прилетают прерывания со всех соседних. Посмотрел код что куб создал, да, так очищается регистр.

Цитата:
#define __HAL_GPIO_EXTI_CLEAR_IT(__EXTI_LINE__) (EXTI-›PR = (__EXTI_LINE__))

void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
{
/* EXTI line interrupt detected */
if (__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0x00u)
{
__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
HAL_GPIO_EXTI_Callback(GPIO_Pin);
}
}
tester01 вне форума  
Непрочитано 22.08.2021, 10:33  
DanilinSA
Почётный гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,717
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
DanilinSA на пути к лучшему
По умолчанию Re: stm32 interrupt

Длинные провода в общей куче. Наводки были вполне ожидаемые. И земля кнопок последовательно с землей индикатора ... без комментариев.
Пожелания:
1) сигнал прерывания выдаем по фронту! Если кнопка тянет к земле.(И по спаду при кнопке к питанию). В этом случае имеем относительно плавный рост напряжения при заряде конденсатора. А не пакет шпилек в момент замыкания.
2) Програмно давим импульсные наводки.

У меня в аналогичной ситуации сделано было так:
1) Вешаем прерывание на кнопку. На фронт и спад.
2) Выделяем свободный таймер для счета.
3) По прерыванию кнопки (нажатие) сбрасываем таймер в 0. Старт таймера.
4) По прерыванию кнопки (отпускание) смотрим значение таймера . Если › константы - сигнал в программу о нажатии кнопки. Стоп таймера.

Давно это было, исходников уже не найду. И да ... причина - криво разведенная земля на плате.
DanilinSA вне форума  
Сказали "Спасибо" DanilinSA
tester01 (22.08.2021)
Непрочитано 22.08.2021, 10:53  
tester01
Частый гость
 
Регистрация: 19.07.2021
Сообщений: 28
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
tester01 на пути к лучшему
По умолчанию Re: stm32 interrupt

Сообщение от DanilinSA Посмотреть сообщение
И земля кнопок последовательно с землей индикатора ... без комментариев.
Не очень понял про последовательно с землей индикатора, что это значит.

Собрал по той схеме что скинули, ложные срабатывания пропали, все отлично работает.
Вот только одна кнопка которая подключена к PA12 не работает, выяснил что все из-за того что на ней включен подтягивающий резистор и напряжение не просаживается до нужного уровня. В коде проверил что куб создал, все нормально, все 4 кнопки инициализируются одинаково. Так же очистил полностью чип и все равно на ней присутствуют 3,3 вольта после этого. Взял вторую отладочную плату все тоже самое.
Это выходит я как-то спалил этот пин или так и должно быть? Но вот если вручную замкнуть этот пин на землю, прерывание срабатывает.
tester01 вне форума  
Непрочитано 22.08.2021, 11:07  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,058
Сказал спасибо: 2,563
Сказали Спасибо 11,890 раз(а) в 5,964 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: stm32 interrupt

Сообщение от tester01 Посмотреть сообщение
Собрал по той схеме что скинули, ложные срабатывания пропали, все отлично работает.
Ограничили ток разряда ёмкости. Скорее - "телеграф".
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 22.08.2021, 11:34  
tester01
Частый гость
 
Регистрация: 19.07.2021
Сообщений: 28
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
tester01 на пути к лучшему
По умолчанию Re: stm32 interrupt

Кажется уже сам нашел причину, пин используется для usb и 1,5к резистором подтянут к плюсу
tester01 вне форума  
Непрочитано 22.08.2021, 11:37  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: stm32 interrupt

Что тут такое? Кнопки не можем, да? А зачем пинцетом тыкаете в выводы? Так еще и статику тыкните. Если и тыкают в выводы, то осциллографом.
Сообщение от tester01 Посмотреть сообщение
PA12 не работает, выяснил что все из-за того что на ней включен подтягивающий резистор и напряжение не просаживается до нужного уровн
Плата какая? Блю-пилл на F103? Там на ПА12 на плате резистор стоит для нужд ЮСБ, 10 кОм, подтягивает к питанию.

Сообщение от tester01 Посмотреть сообщение
Пока все на макетке собрано.
Чтоп не мучаться с пояниями, купите песпаечную макетку и набор проволочных и проводковых перемычек дня нее, вот так:
Миниатюры:
Нажмите на изображение для увеличения
Название: DSC_3251.JPG
Просмотров: 0
Размер:	291.5 Кб
ID:	165238  

Последний раз редактировалось NewWriter; 22.08.2021 в 11:58.
NewWriter вне форума  
Непрочитано 22.08.2021, 13:00  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 723
Сказал спасибо: 363
Сказали Спасибо 803 раз(а) в 377 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: stm32 interrupt

..........................
Нажмите на изображение для увеличения
Название: devboard.jpg
Просмотров: 0
Размер:	76.4 Кб
ID:	165243
j-Roger вне форума  
Непрочитано 22.08.2021, 13:12  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,058
Сказал спасибо: 2,563
Сказали Спасибо 11,890 раз(а) в 5,964 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: stm32 interrupt

Сообщение от NewWriter Посмотреть сообщение
купите песпаечную макетку
Пробовал. И на вкус, и на цвет - гуано.
Контакты в "пирожке" хреновые - сплошная контактная (фигурная) пластина на несколько "дирок" даже теоретически контакт не обеспечит. Разрезанных, чтобы были отдельные "пружинки" шины на разные гнезда, мне не попалось.
Перемычки - отдельная песня. От неконтакта "штырь(гнздо)-провод" до гнилых проводов, в которых наличие контакта зависит от степени изгиба. Наличие жил в проводе - до одной волосинки (пробовал резать и паять).

Не учите абдуринизму, таких учителей и без вас хватает.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 22.08.2021, 13:35  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 723
Сказал спасибо: 363
Сказали Спасибо 803 раз(а) в 377 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: stm32 interrupt

Для нескольких кнопок/дисплея/мелочёвки самое то, собирается за минуты, перекоммутируется за секунды. Ну да, амперы не обеспечить, DDR5 не подключить,
но это уже другая история.
j-Roger вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изучаем STM32 Cortex M3 EugVor ARM 6166 19.02.2024 18:22
Публикации КОМПЭЛ КОМПЭЛ Электроника - это просто 255 11.08.2023 18:12
Драйвер (не VCP) для встроенного USB STM32 vvv998 ARM 106 08.11.2014 21:36
xMEGA прерывания . megavoltk2 Микроконтроллеры, АЦП, память и т.д 3 24.04.2012 16:58
Помогите настроить АЦП в Atmega32 sergx1300 Микроконтроллеры, АЦП, память и т.д 72 09.11.2010 00:28


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


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