реклама на сайте
подробности

 
 
> STM32F4 и PORTG вывод 11
ЮКОР
сообщение Jul 31 2015, 16:27
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 17-10-14
Пользователь №: 83 186



STM32F437II.
Столкнулся с проблемой, которая по началу и не предполагалась. Прошу отнестись серьёзно, хоть она связана с простым чтением цифровогоо порта.
Есть мех. селектор (переключатель), который подключается к выводам порта G.
Ползунок этого переключателя заземлён, выводы переключательной группы подключены к выводам микроконтроллера, которые сконфигурированы на pull UP.
Переключаю, определяю, что на выводе (входе порта) логический ноль, выполняю свои действия.
Задачка казалась бы тривиальная. Практически всё работает, кроме вывода PG11.
Но! Не тут то было. Не смог понять в чём проблема.

Теперь описание схемы.
Выводы селектора подключены к выводам порта G. Опрашиваю состояние порта G.
Если переключатель в положении, когда PG11 в нуле, программа вылетает.
Для других выводов такой проблемы нет. Конфигурация выводов идеинтичная.
Ошибок в логике не может быть.

Ненормальность проявляется также и в том, что после работы платы с подключенным переключателем, программа микроконтроллера не стартует после включения питания. Помогает только принудительный ресет.
Если же не подключать переключатель, то программы на новых (девственных) платах нормально стартуют.
Если отсоединить переключатель от плат, на которых был подключен переключатель при прошивке, то программа также не стартует.

В errata информации по этой проблеме не нашёл.

Заранее спасибо за рекомендации.

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Aug 3 2015, 06:48
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



а есть способы узнать на каком моменте?
попробуйте диодики позажигать, докуда программа доходит, может она в настройках PLL виснет, а может у вас еще какие старые прерывания остались?:
Go to the top of the page
 
+Quote Post
ЮКОР
сообщение Aug 3 2015, 08:30
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 17-10-14
Пользователь №: 83 186



Цитата(Golikov A. @ Aug 3 2015, 09:48) *
а есть способы узнать на каком моменте?
попробуйте диодики позажигать, докуда программа доходит, может она в настройках PLL виснет, а может у вас еще какие старые прерывания остались?:


Но от внешнего ресета программа стартует. И ток потребления возрастает и светодиоды мигают как надо.
Не очень хочется аппаратный watch-dog разрешать, потом его надо будет постоянно обнулять.
Что-то здесь совсем простое, но пока понять не могу.

В цепи ресета R=100кОм и С=0.33 мкФ.
Go to the top of the page
 
+Quote Post
bugdesigner
сообщение Aug 3 2015, 09:17
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 12-06-15
Из: Земля
Пользователь №: 87 133



Цитата(ЮКОР @ Aug 3 2015, 11:30) *
В цепи ресета R=100кОм и С=0.33 мкФ.

А если просто подтяжку reset сделать, без конденсатора? Чем внутренний ресет не устраивает?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 05:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016