06.09.2017, 22:45
|
#101
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,727
Сказал спасибо: 130
Сказали Спасибо 1,111 раз(а) в 530 сообщении(ях)
|
Re: Оцените алгоритм опроса матричной клавы
Сообщение от МВА
|
Я прогонял кусок его программы пошагово в студии - так и есть, программа из прерывания возвращается опять в прерывание, и это было только одно прерывание по захвату в котором miwutka хотел все успеть. Наверное не зря во всех рекомендациях советуют прерывания делать как можно короче.
|
Прерывание - инструмент конечно эффективный. Но и использовать его нужно "с умом". Отдавая себе отчет в выполняемых действиях. Если есть достаточно "тяжелый" не критичный по времени кусок кода - нафига его совать в обработчик прерывания?
P.S.: Надеюсь miwutka не забывал снять флаг прерывания? А то действительно будет непрерывно сидеть в цикле обработки прерывания.
Последний раз редактировалось DanilinSA; 06.09.2017 в 22:56.
|
|
|
|
06.09.2017, 23:08
|
#102
|
Гражданин KAZUS.RU
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 842
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
|
Re: Оцените алгоритм опроса матричной клавы
Да на восьмой Меге он его ваял. Там не надо флаг ставить. Просто он после захвата еще и вычисления там делал да еще и float.
А вообще-то я еще раз повторю, что прерывания нужно использовать только для того, чтобы не пропустить важное событие, а для клавы оно не нужно вообще. В том коде, что я выкладывал, клава вообще не использует прерывание. Его использует только программный таймер.
Последний раз редактировалось МВА; 06.09.2017 в 23:15.
|
|
|
|
06.09.2017, 23:23
|
#103
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,091
Сказал спасибо: 2,566
Сказали Спасибо 11,900 раз(а) в 5,973 сообщении(ях)
|
Re: Оцените алгоритм опроса матричной клавы
Сообщение от МВА
|
прерывания нужно использовать только для того, чтобы не пропустить важное событие, а для клавы оно не нужно вообще.
|
А смысл экономить прерывания? Чтобы в зиму засолить? Или в Меги или, не к ночи будь упомянуты, Тиньки, играемся?
Что-то МС51 кого-то не отпускает...
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
06.09.2017, 23:26
|
#104
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Оцените алгоритм опроса матричной клавы
Сообщение от akegor
|
Что-то МС51 кого-то не отпускает...
|
Там, кстати, тоже приоритетный контроллер прерываний.
|
|
|
|
06.09.2017, 23:31
|
#105
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,091
Сказал спасибо: 2,566
Сказали Спасибо 11,900 раз(а) в 5,973 сообщении(ях)
|
Re: Оцените алгоритм опроса матричной клавы
Сообщение от omercury
|
Там, кстати,...
|
Там с ресурсами напряги...
И вообще, я про те, у которых 12 тактов на простейшую операцию и мах тактовая 12 мегагрец.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
06.09.2017, 23:39
|
#106
|
Прописка
Регистрация: 10.03.2016
Сообщений: 114
Сказал спасибо: 14
Сказали Спасибо 46 раз(а) в 41 сообщении(ях)
|
Re: Оцените алгоритм опроса матричной клавы
Сообщение от akegor
|
А смысл экономить прерывания...
|
Да пусть экономят. Это же основное развлечение ардуйноты и меганоидов. Ну и флаг им в вечном цикле в руки!
|
|
|
|
07.09.2017, 00:26
|
#107
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Оцените алгоритм опроса матричной клавы
Последний раз редактировалось omercury; 07.09.2017 в 00:29.
|
|
|
Сказали "Спасибо" omercury
|
|
|
07.09.2017, 01:11
|
#108
|
Вид на жительство
Регистрация: 10.06.2007
Сообщений: 429
Сказал спасибо: 34
Сказали Спасибо 51 раз(а) в 47 сообщении(ях)
|
Re: Оцените алгоритм опроса матричной клавы
omercury, Ваша аргументация бесподобна! Да и в нескольких других сообщениях выше такая-же.
Это был сарказм, если что. Всего доброго.
|
|
|
|
07.09.2017, 01:32
|
#109
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Оцените алгоритм опроса матричной клавы
Сообщение от H4LF
|
omercury, Ваша аргументация бесподобна!
|
Ни секунды не сомневался!
Сообщение от H4LF
|
Это был сарказм, если что.
|
Моего сарказма Вы явно не заметили.
Ну ладно, это лирика. Я Вам тут картинку подготовил, давайте Вы сами себе попробуете объяснить, что там не так.
Нажаты уже нажатые кнопки, плюс кнопка с желтой "галкой".
Прямо по шагам:
1. устанавливаем на выходах с "1" по "4" (1 старший) код "0111". На входах с "А" по "D" (А старший) присутствует код "1101";
2. переключаем выходы в код "1011". На входах...
дальше сами.
|
|
|
|
07.09.2017, 02:12
|
#110
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Оцените алгоритм опроса матричной клавы
Сообщение от omercury
|
1.
|
Забавно, но похоже мы тупИм уже вдвоём - через С3 и В3 опустилась в "0" линия В...
Как же тогда работают все матричные клавиатуры?
Ведь в них диодов точно нет...
mike-y-k, Вы б спасибку-то убрали.)))
Или хотите быть третьим?
Увы и ах, но на это место небезосновательно претендует МВА.
upd
Не, мы конечно можем отследить момент появления дребезга и вычислить последовательность нажатия кнопок, проинтегрировать счётчики по каждой кнопке, отделить случайные срабатывания и помехи...
Походу тема обещает быть интереснее "лампочки и диода".
Последний раз редактировалось omercury; 07.09.2017 в 02:32.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:48.
|
|