User Tag List

Показано с 1 по 10 из 1128

Тема: ЭТЮДЫ

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,823
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    Заключи вызов макроса как процедуру, прибавив вначале метку а в конце RET.
    Перед началом цикла опроса сделай один лишний разок CALL, только как инициализацию, не глядя на Z.
    А в цикле вызывай CALL и смотри флаг Z.
    Предполагается юзать именно как макрос, чтоб хранить предыдущее значение прямо в теле проги, а не делать на каждый сигнал свою ячейку отдельно где-то в памяти (ведь если сигналов будет несколько - то в теле вызываемой процедуры уже нельзя хранить предыдущее состояние)

    - - - Добавлено - - -

    Кажется домучал (были уже рабочие варианты у меня, просто эмуль подвёл - ведь тестил через ALT+F3 зажав клавишу, а эмуль не сразу опрашивает оказывается, если сделать задержку - то при зажатой кнопке изначально - передний фронт не детектится, т.е. всё как надо работает)
    Код:
    	MACRO FN_KEY key	;  отрицательный фронт, key=high порт/mask (#7f04="m"), Z=1 - фронт был
    .prev		LD A,#FF
    		CPL
    		AND low key
    		LD (.mask+1),A
    		LD A,high key
    		IN A,(#FE)
    		LD (.prev+1),A
    .mask		AND 0
    	ENDM
    	
    	MACRO FP_KEY key	; положительный фронт, key=high порт/mask  (#7f04="m"), Z=1 - фронт был
    .prev		LD A,#00
    		AND low key
    		LD (.mask+1),A
    		LD A,high key
    		IN A,(#FE)
    		LD (.prev+1),A
    		CPL
    .mask		AND 0
    	ENDM
    Reobne, а формула клика (т.е. 0-1-0) как получается? Там уже надо видимо хранить 2 предыдущих значения, причём обновлять не каждый вызов, а ставить флаг что мол была клавиша отжатой, потом была нажатой, а теперь вот снова отжалась - тут-то и подымать флаг "клик!" ?
    Последний раз редактировалось Destr; 06.06.2019 в 21:23.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Этюды: как бы написать поизящнее.
    от AndTorp в разделе Программирование
    Ответов: 5
    Последнее: 17.03.2008, 00:43
  2. Ответов: 0
    Последнее: 18.08.2006, 22:40
  3. Этюды: печать шрифтом 5x5...
    от breeze в разделе Программирование
    Ответов: 12
    Последнее: 27.03.2005, 05:21

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •