Внешнее прерывание INT
31.12.2016, 15:00
|
|
|
Заблокирован
Регистрация: 19.02.2007
Адрес: Барановичи
Сообщений: 255
Сказал спасибо: 3
Сказали Спасибо 51 раз(а) в 39 сообщении(ях)
|
Re: Внешнее прерывание INT

Вот так точнее будет.
|
|
|
|
31.12.2016, 15:54
|
|
|
Прописка
Регистрация: 17.11.2009
Сообщений: 134
Сказал спасибо: 15
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
|
Re: Внешнее прерывание INT
Очень много лишнего.)) Диоды и резисторы можно не ставить.
|
|
|
|
31.12.2016, 16:02
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
|
Re: Внешнее прерывание INT
Это - клавиатурная матрица? тогда без диодов при одновременном нажатии двух кнопок в разных строках получите кз.
|
|
|
|
31.12.2016, 16:54
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,548
Сказал спасибо: 5,035
Сказали Спасибо 10,605 раз(а) в 3,594 сообщении(ях)
|
Re: Внешнее прерывание INT
Сообщение от ALEKS1102X
|
|
Вован Вы вроде не маленький, а всё пытаетесь дрочить чужими руками.
|
Сообщение от ALEKS1102X
|
|
Вот как-то так...
|
Сообщение от ALEKS1102X
|
|
Вот так точнее будет.
|
Да уж, вашими руками не подрочишь, сколько ни пытайся...
Хаять чужое намного легче, чем сделать свое, даже такое простейшее.
Если уж ставить диоды - так на каждую кнопку. Тогда можно опознавать одновременное нажатие любого количества кнопок.
А три диода на всю матрицу - не спасут от ложных определений при одновременном нажатии. Тогда уж лучше совсем без диодов.
|
|
|
|
31.12.2016, 17:03
|
|
|
Заблокирован
Регистрация: 19.02.2007
Адрес: Барановичи
Сообщений: 255
Сказал спасибо: 3
Сказали Спасибо 51 раз(а) в 39 сообщении(ях)
|
Re: Внешнее прерывание INT
Сообщение от NewWriter
|
|
Это - клавиатурная матрица? тогда без диодов при одновременном нажатии двух кнопок в разных строках получите кз.
|
.
Да, это матрица, и в последнем посте я поправил, чтобы не было КЗ (изначально рисовал просто быстро), а по поводу лишних резисторов - так внутренние приблизительно 100 кОм - с учётом изготовления платы, к примеру, по технологиии ЛУТ, и с учётом скорости опроса (что в конкретной программе может варьироваться), я обычно не жалею лишние поставить с МЕНЬШИМ номиналом. А вообще, - конечно можно включить внутренние подтягивающие, поменять полярность вывода сигнала на ножки RB7...RB5, ну и полученный сигнал с ножек RB4...RB2 уже считать инверсным (если активный отклик на клаве считать положительным).
У меня это работает годами, на производстве, во вредных (в плане электро помех) условиях - никто не обижается!!!
И такая матрица позволяет зафиксировать любой вариант нажатия кнопок!
ЗЫ: А Вы (Alex9797) просимулируйте в мозгу - хватит трех диодов на 3 шины опроса, или нет... Спросите у более опытных  !!!
|
|
|
|
31.12.2016, 17:13
|
|
|
Заблокирован
Регистрация: 19.02.2007
Адрес: Барановичи
Сообщений: 255
Сказал спасибо: 3
Сказали Спасибо 51 раз(а) в 39 сообщении(ях)
|
Re: Внешнее прерывание INT
Сообщение от Alex9797
|
|
лучше совсем без диодов.
|
А вот без диодов точно "драчилово" получится!
|
|
|
|
31.12.2016, 17:24
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,548
Сказал спасибо: 5,035
Сказали Спасибо 10,605 раз(а) в 3,594 сообщении(ях)
|
Re: Внешнее прерывание INT
Сообщение от ALEKS1102X
|
|
просимулируйте в мозгу - хватит трех диодов на 3 шины опроса, или нет... Спросите у более опытных
|
От того, что ты хамишь - умнее не станешь.
Попробуй, например, нажать одновременно кнопки 1, 2 и 5. И попробуй определить, какие кнопки нажаты? Особенно удели внимание кнопкам 1 и 4. Сможешь ли определить, какая нажата: 1, или 4, или обе одновременно?
Сообщение от ALEKS1102X
|
|
У меня это работает годами, на производстве, во вредных (в плане электро помех) условиях - никто не обижается!!!
|
Это рассуждения не профессионала, и даже не радиолюбителя, а дилетанта.
Если ваша схема в принципе не способна обеспечить гарантированного распознавания одновременно нажатых кнопок, то при чем тут годы, и вредные условия?
|
|
|
|
31.12.2016, 17:38
|
|
|
Заблокирован
Регистрация: 19.02.2007
Адрес: Барановичи
Сообщений: 255
Сказал спасибо: 3
Сказали Спасибо 51 раз(а) в 39 сообщении(ях)
|
Re: Внешнее прерывание INT
Сообщение от Alex9797
|
От того, что ты хамишь - умнее не станешь.
Попробуй, например, нажать одновременно кнопки 1, 2 и 5. И попробуй определить, какие кнопки нажаты? Особенно удели внимание кнопкам 1 и 4. Сможешь ли определить, какая нажата: 1, или 4, или обе одновременно?
|
Ну, во первых я не хомил (не знаю где Вы это заметили), а во вторых, программу Вам писать не буду, просто небольшой алгоритм опроса клавы:
Первое прерываение; (нажаты кнопки 1,2 и 5, и на шине RB5 - единица)
_ я снимаю с ножек RB4...RB2) 0b...110..
Следующее прерывание (нажаты кнопки 1,2 и 5, и на шине RB6 - единица)
_ я снимаю с ножек RB4...RB2) 0b...010..
Третье прерывание (нажаты кнопки 1,2 и 5, и на шине RB7 - единица)
_ я снимаю с ножек RB4...RB2) 0b...000..
Дальше раскладываю по полочкам - где кака кнопка нажата (команда "case" Вас устроит, или "btfss stat_кlav, x", или табличный переход ?!?!?
Еще несколько таких кругов для определения "НЕСЛУЧАЙНОСТИ" уровней на ножках
И я лично приблизительно через 0, 05 секунды вывожу окончательный результат! А Вы как ?
Последний раз редактировалось ALEKS1102X; 31.12.2016 в 17:45.
|
|
|
|
31.12.2016, 17:45
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,548
Сказал спасибо: 5,035
Сказали Спасибо 10,605 раз(а) в 3,594 сообщении(ях)
|
Re: Внешнее прерывание INT
Сообщение от ALEKS1102X
|
Следующее прерывание (нажаты кнопки 1,2 и 5, и на шине RB6 - единица)
_ я снимаю с ножек RB4...RB2) 0b...010..
|
Неправильно.
_ я снимаю с ножек RB4...RB2) 0b... 110..
|
|
|
|
31.12.2016, 17:53
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,548
Сказал спасибо: 5,035
Сказали Спасибо 10,605 раз(а) в 3,594 сообщении(ях)
|
Re: Внешнее прерывание INT
Сообщение от ALEKS1102X
|
|
И я лично приблизительно через 0, 05 секунды вывожу окончательный результат!
|
Окончательный вариант для данного примера будет иметь пять равнозначных вариантов:
1. Нажаты одновременно четыре кнопки - 1, 2, 4, 5
2. Нажаты кнопки 1, 2, 4
3. нажаты 1, 2, 5
4. нажаты 1, 4, 5
5. нажаты 2, 4, 5
Сообщение от ALEKS1102X
|
|
Еще несколько таких кругов
|
...- и все равно, определить верную комбинацию из пяти перечисленных не удастся, круги не помогут.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:59.
|
|