Реэнтерабельное прерывание и мой стиль программирования

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

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение Steve Key (Steve Key) » 24 май 2013, 12:20

mim писал(а):со своим дребезгом уже не первый год мозги пудришь...

Проверил - работает! (и кстати, я всего-то год назад зарегился здесь...) :idea:
Только - у твоей кнопки реально монструозный дребезг, таких "раздолбанных" и кнопок-то не бывает.
В воскресенье проверю "защелку на пролете". :evil:
FlowCode 5.5.2.1, Proteus 7.10, PICkit 2
Аватар пользователя
Ник: Steve Key
Имя: Steve Key
(Шахты)
Специалист
Специалист
Информация о пользователе

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение mim (mim) » 24 май 2013, 12:29

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

ЗЫ. Если я говорю, то так оно и есть, а воз и ныне там...
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение Steve Key (Steve Key) » 24 май 2013, 12:40

mim писал(а):Разберись как она устроена и сделай такие параметры как считаешь нужным.
Но советую самостоятельно снять осцилограммы дребезга или найти фотки в инете,

Ну а смысл? Меня устроит твоя кнопка, типа, самые жесточайшие условия проверки.
А реальные кнопки по-любому будут лучше... :D

mim писал(а): а затем почитать справочники по конкретным кнопкам (контактам) и посмотреть сколько времени отводит производитель на дребезг.

Да мне, честно говоря, пофиг, сколько там какой производитель отводит куда-то там (но уж не 0.4 сек, IMHO), практически гораздо меньше достаточно бывает. :!)

Добавление: я ошибся, в программе не поставил обнуление флага прерывания, поэтому измерение происходило гораздо чаще, на следующей странице об этом написано. :oops:
Последний раз редактировалось Steve Key 02 июн 2013, 07:31, всего редактировалось 1 раз.
FlowCode 5.5.2.1, Proteus 7.10, PICkit 2
Аватар пользователя
Ник: Steve Key
Имя: Steve Key
(Шахты)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение mim (mim) » 24 май 2013, 12:44

Steve Key писал(а):но уж не 0.4 сек, IMHO
Откуда такая цифра???
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение Steve Key (Steve Key) » 24 май 2013, 12:52

mim писал(а):ЗЫ. Если я говорю, то так оно и есть,

А, ну да, ты прав, как быстро время летит, я глянул время регистрации НА НОВОМ форуме, а еще же и старый был... :idea:

Ага, а на старом форуме я уже в ранге "эксперта" был, много постов понафигачил. ;)

mim писал(а):а воз и ныне там...

Ну дык, защелку с пролётом я использовать не буду, даже вопреки твоему авторитету, ну не нравится она мне! :headbang:
FlowCode 5.5.2.1, Proteus 7.10, PICkit 2
Аватар пользователя
Ник: Steve Key
Имя: Steve Key
(Шахты)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение mim (mim) » 24 май 2013, 12:57

Steve Key писал(а):Ну дык, защелку с пролётом я использовать не буду, даже вопреки твоему авторитету, ну не нравится она мне! :headbang:

Дык мне тоже пофик... Но, только правильно пиши - ты не дребезг устраняешь, а скорость опроса понижаешь, набирая статистику удержания, да и то не верно... Но, хозяин барин.

ЗЫ ты ведь не удосужился изучить вот это.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение Steve Key (Steve Key) » 24 май 2013, 13:04

mim писал(а):Откуда такая цифра???

Ну дык, моя подпрограмма обработки кнопок считает кол-во подряд идущих состояний замкнутого контакта, и, если это кол-во станет больше константы антидребезга, тогда считает, что кнопка нажата.
При этом, достаточно одного прохода с отпущенной кнопкой (дребезг не кончился) - счёт сбрасывается.
Так вот, прерывание 488 Гц (ну, как бы 4 знакоместа по 122 Гц - чтобы светодиоды не мерцали), константа антидребезга более 220 - т. е. задержка более 0.4 сек.
У вас нет доступа для просмотра вложений в этом сообщении.
FlowCode 5.5.2.1, Proteus 7.10, PICkit 2
Аватар пользователя
Ник: Steve Key
Имя: Steve Key
(Шахты)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение Steve Key (Steve Key) » 24 май 2013, 13:14

mim писал(а):ты не дребезг устраняешь, а скорость опроса понижаешь, набирая статистику удержания

Ну, можно и так сказать! ;)
В воскресенье буду работать - испытаю защелку с пролётами и прочие свитчинги. :!)

mim писал(а):не удосужился изучить

Бегло освежил в памяти - там примерно мой алгоритм и описывается, только чуть другая форма (накопление сдвигом в байте, если все единицы - кнопка нажата).
Только, IMHO для твоей кнопки с дребезгом 8 бит не хватит. :shock:
FlowCode 5.5.2.1, Proteus 7.10, PICkit 2
Аватар пользователя
Ник: Steve Key
Имя: Steve Key
(Шахты)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение mim (mim) » 24 май 2013, 13:28

Steve Key писал(а):1. там примерно мой алгоритм...
2. Только, IMHO для твоей кнопки с дребезгом 8 бит не хватит. :shock:

1. У тебя есть выходные чтобы разобраться...
2. Ну ты как ребенок...
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение Steve Key (Steve Key) » 25 май 2013, 17:48

Наладил интернет...

Насчет 5-й версии, булевых переменных и констант.
Вон на скриншоте видим интерфейс FlowCode 5, в окошке видим список переменных (две предопределены: True и False), два моих флага (второй мне, собственно, не нужен, он для проверки), а также константу Drebezg.

Изображение

В тексте ассемблерного листинга видим определение этих флагов: они представляют собою биты в одном и том же байте.

Изображение

На следующем шоте видим кусок ассемблера, где константа 0xA5 прибавляется к переменной Input.

Изображение

Так что экономия памяти в 5-й версии сабжа может быть достаточно весомой, ибо флаги в 8 раз меньше памяти занимают, а константы - так вообще... :D
FlowCode 5.5.2.1, Proteus 7.10, PICkit 2
Аватар пользователя
Ник: Steve Key
Имя: Steve Key
(Шахты)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Пред.След.

Вернуться в ПЕСОЧНИЦА

Кто сейчас на форуме

Пользователь просматривает форум: Enigm, Google [Bot]

cron