Вы можете написать сейчас и зарегистрироваться позже.
Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.
А вот еще проще
PORTC = (PINB & (1<<0))? (PORTC & (~ ((1<<2) | (1<<3)))) : (PORTC | ((1<<2) | (1<<3)));
Без защиты от дребезга, но вы будете видеть все тоже самое что и в вашем коде.
Правильно говорить алгоритм или код.
if (PINB & (1<<0))
{
PORTC &= ~((1<<2) | (1<<3));
}
else
{
if (!(PORTC & (1<<2)){
PORTC |= ((1<<2) | (1<<3));
_delay_ms(50);
}
}
Если кнопка не нажата - гасим светодиоды, если кнопка нажата и светодиод на выводе не горит - зажигаем оба светодиода и делаем паузу чтоб не попасть сна дребезг.
Таак ,вижу схему вашу,щас попытаюсь разобраться.
Получается :если кнопка НЕ нажата, то ,если один из светодиодов НЕ горит,
то оба светодиода включаются ,далее задержка 50 мс.
Или светодиоды выключаются
Не ошибся я ,правильно код прочитал?
В опросе кнопки наверное эту волнистую линию забыли добавить, кнопка у меня соединена с общим проводом (минусом)
Как так составить чтобы нажал отпустил ,светодиод остался ,гореть. Еще раз нажал отпустил ,он потух.
Я ,как Новичок вижу только один вариант это поставить задержку в конце ,чтобы было время отпустить кнопку. Я так вижу этот алгоритм.
Но он же не правильный,я понимаю это. Если удерживать кнопку ,то светодиод будет тупо мигать с временем этой самой задержки.
Аа ,точно ,это я не правильно в студии набрал, точно
Желание есть ,опыта нет.
То что я чей то код набрал ,от этого умнее то не стал ,я понимаю это
Так вы подскажите хотя бы немного ,направьте в нужную сторону,как можно по другому сделать если есть вариант
Я не могу сообразить как алгоритм правильный построить(не сильно замороченный)
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.