есть вопрос с которым мучаюсь вторую неделю
есть AVR и CVAVR
есть две кнопки
при нажатии на одну начинает мигать светодиод с периодом 300мс
при нажатии на вторую мигает второй светодиод с периодом 100мс
при нажатии на обе мигают оба светодиода по очереди со своими временными интервалами 100 и 300мс
реализовано как
x=100; (реальности показания АЦП, т.е. переменным резистором можно менять значение, но соотношение 1к3 должно остаться)
если на пинБ.1==1 то (portC.1=1; delay_ms(x); delay_ms(x); delay_ms(x);portC.1=0; )
если на пинБ.2==1 то (portC.2=1; delay_ms(x); portC.2=0; )
вроде все работает как надо, за исключением одного момента: если во время работы первого условия нажать и опустить кнопку пинБ.2 то это нажатие пропадает и не отрабатывает (тут понятно - на момент прохода программы там уже ноль)
пробовал вешать кнопки на внешнее прерывания, что-то вообще не понял что сделал ), пробовал изобразить кольцевой буфер, но он на одно нажатие кнопки заполняется гораздо быстрее чем мигает светодиод...
что-то не получается. куда копать?


