|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.10.2017, 11:22 | #51 | |
Пользователь
Регистрация: 05.10.2017
Сообщений: 44
|
Цитата:
|
|
12.10.2017, 11:44 | #52 |
Пользователь
Регистрация: 05.10.2017
Сообщений: 44
|
подскажите как описать функцию вкл\выкл. ? тобишь есть та же кнопка и определённая комбинация на входе (допустим PINB==0b00000011). и при нажатии на кнопку диод включился, нажав ещё раз выключился?
|
12.10.2017, 22:53 | #53 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Блинннн ! ! ! Я же это тебе описал (ударение на а) ! Перечти предыдущую страницу, мой вариант и лучший вариант - коллеги WorldMaster'а . Только надо, чтобы процесс шел не все время, пока нажата кнопка, а по нажатию или отпусканию. Только обязательно прописать защиту от дребезга - WorldMaster это детально описал. И по этому событию (нажатию или отпусканию кнопки) делаем XOR
Код:
Последний раз редактировалось digitalis; 13.10.2017 в 10:27. |
13.10.2017, 09:23 | #54 | |
Пользователь
Регистрация: 05.10.2017
Сообщений: 44
|
Цитата:
и что означает "XOR" Последний раз редактировалось scccorp; 13.10.2017 в 09:28. |
|
13.10.2017, 10:25 | #55 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
XOR - исключающее ИЛИ : z = (x И НЕ(y)) ИЛИ ( НЕ(х) И y) . Если переменной а делаем XOR по маске b, то в переменной а инвертируются биты, установленные в '1' в маске b . Например, если
Код:
Последний раз редактировалось digitalis; 13.10.2017 в 10:39. |
13.10.2017, 10:29 | #56 | |
Пользователь
Регистрация: 05.10.2017
Сообщений: 44
|
Цитата:
Код:
|
|
13.10.2017, 11:04 | #57 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
scccorp, обычно личные сообщения приходят сюда (надо просто обращать в это место своё внимание):
1.jpg либо в личных личных сообщениях можно просмотреть: 2.jpg Что ты хотел? ___________________________________ ___________________________________ ___ У тебя не хватает базы, основы (хотя бы самое минимальное для решение задачи), ты не понимаешь, что тебе говорят и как работать с этой информацией... Обычно такие люди пытаются "выехать на чужом горбу" и их особо здесь не жалуют. Чаще всего люди с нулевыми знаниями просто платят (в платном разделе Фриланс) за решение своей задачи другими. Но, если ты платить не хочешь, тогда надо "пахать", восполнять пробелы в знаниях. Иди на ютуб (обрати внимание, что я тебе даже книг не предлагаю, а просто смотреть видеоролики и повторять за лекторами): 3.jpg там есть всё (и почему появляется и как бороться с той, то всегда можно спросить у лектора в комментариях. Твоя задача: "сделать кнопку как кнопку" и запрограммировать свою таблицу входов/выходов. Всё. А сделать "надстройку" над кодом (чтобы кнопка "срабатывала через раз") - это я тебе сделаю. Повторяю, это не сложно: даже полный видеокурс смотреть не придётся, т.к. описываются в первых 2-3 (4-хх) лекциях. Выбрал видеокурс, посмотрел первые лекции, если нету ничего интересного - переходи к другому автору... ___________________________________ ____________________ Если тебе трудно делать сразу всё (следить за 4-я битами одновременно), тогда вот тебе план действий: 1) сделай программу, просто зажигающую 0-й бит. 2) сделай программу, мигающую 0-м и 4-м битом. 3) сделай программу, от одной кнопки, зажигающую 1-й бит (а когда кнопка отключена - зажигается 7-й бит). 4) сделай программу, в которой 2-е кнопки, действующие на PINB0, PINB1 5) (и наконец) сделай программу, с 4-мя кнопками + кнопка разрешения. Запрограммируй свою логику вход/выход. |
13.10.2017, 11:08 | #58 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Еще раз терпеливо повторю :
1. Состояние кнопки фиксируется с подавлением дребезга, т.е. кнопка считается нажатой или отпущенной, если состояние отвечающего за нее бита осталось неизменным в течение 50-100мс. Для этого нужно завести переменную, в которой фиксируется предыдущее ее состояние. 2. Действие надо производить, если состояние кнопки изменилось с 0 на 1 или наоборт (это уж сам выбираешь). Для этого нужна еще одна переменная, в которой хранится предыдущее, уже очищенное от дребезга, состояние. И эти состояния сравниваются - если произошло нужное нам изменение, запускаем switch. Может быть, тебе для простоты сначала дребезг убрать аппаратно, сосредоточившись на переключении состояний ? |
13.10.2017, 11:42 | #59 | |
Пользователь
Регистрация: 05.10.2017
Сообщений: 44
|
Цитата:
и ещё как я не пытаюсь выехать "на чужом горбу" как видишь я читаю и пробую сам делать параллельно сёрфя интернет) Последний раз редактировалось scccorp; 13.10.2017 в 11:47. |
|
13.10.2017, 23:16 | #60 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
Кстате, ещё больше материала по программированию вылазит и без сортировки:
1.jpg Наверно большинство лекторов предпочитают делать один большой файл. чем делить его на части и запихивать в плейлисты... Но ты ищи и так и так. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Порты | Novichek_1996 | Помощь студентам | 3 | 22.04.2014 19:55 |
Не могу открыть порты. | aszaszasz | Помощь студентам | 0 | 26.05.2010 14:27 |
Порты | Троян | Помощь студентам | 1 | 12.02.2010 14:55 |
порты | Rabitka | Безопасность, Шифрование | 0 | 16.10.2009 16:09 |
COM Порты | Skazi21101 | Помощь студентам | 0 | 02.11.2008 12:24 |