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

 
 
 
Reply to this topicStart new topic
> Объединение EINT и ISP, LPC17x
Serg_el
сообщение Jan 14 2014, 19:41
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 13-12-06
Из: Togliatti
Пользователь №: 23 473



Столкнулся с тем, что у мк LPC1756 объединены EINT0 и вход в ISP (порт 2.10). Получается, что после RESET (по любой причине) и при наличии на входе 0 (а 0 будет давать некий внешний концевик устройства), мк будет входить в ISP режим.

Как я понимаю в данном случае можно использовать дополнительный выход мк для того, чтобы управляя транзистором разрешать появление 0 на входе ISP только после того, как внутренний бут загрузчик провел проверку состояния P2.10.

Неужели все так усложнено?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 15 2014, 08:06
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Serg_el @ Jan 14 2014, 21:41) *
Неужели все так усложнено?
Да, так и есть. Но тут палка о двух концах - у STM32 под это дело отведена отдельная нога, с одной стороны вроде бы хорошо, с другой - вы свою P2.10 можете хоть на выход использовать безболезненно, а там эта нога, считайте, выкинута.

В качестве обхода можете выставить защиту от чтения на максимальный уровень, тогда, если мне не изменяетс память, состояние этой ноги при старте не анализируется. Но и снять такую защиту уже нельзя.

А вам действительно нужно вешать концевик на EINT0? Есть же куча других ног генерящих прерывание. Можно вход захвата таймера использовать, можно опрашивать в прерывании таймера - заодно и антидребезг получится автоматически.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
KRS
сообщение Jan 15 2014, 08:21
Сообщение #3


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Сергей Борщ @ Jan 15 2014, 12:06) *
Но и снять такую защиту уже нельзя.

Можно, но уже только изнутри пользовательской программы.

Go to the top of the page
 
+Quote Post
Serg_el
сообщение Jan 15 2014, 14:28
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 13-12-06
Из: Togliatti
Пользователь №: 23 473



Цитата(Сергей Борщ @ Jan 15 2014, 12:06) *
Да, так и есть. Но тут палка о двух концах - у STM32 под это дело отведена отдельная нога, с одной стороны вроде бы хорошо, с другой - вы свою P2.10 можете хоть на выход использовать безболезненно, а там эта нога, считайте, выкинута.

В качестве обхода можете выставить защиту от чтения на максимальный уровень, тогда, если мне не изменяетс память, состояние этой ноги при старте не анализируется. Но и снять такую защиту уже нельзя.

А вам действительно нужно вешать концевик на EINT0? Есть же куча других ног генерящих прерывание. Можно вход захвата таймера использовать, можно опрашивать в прерывании таймера - заодно и антидребезг получится автоматически.


Да, это понятно, что есть варианты обхода, просто удивился, что на такой "опасный" вход ISP повесили вход с отдельным вектором прерывания.
Go to the top of the page
 
+Quote Post

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

 


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


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