Лейтенант
Сообщений всего: 33
Дата рег-ции: Янв. 2009
|
Есть пульт ДУ ик посылает двоичный код букв А,а,B,b,C,c,D,d. При однократном первом нажатии или удерживании кнопки передается большая буква, при повторном нажатии уже маленькая и т.д.
Этим пультом управляется робот то есть при нажатии А двигается вперед, B назад, С поворачивается влево, D поворачивается вправо. Необходимо сделать чтобы можно было запустить программу самостоятельного движения с пульта ДУ. То есть например нажимаю последовательность A B C D и начинает выполняться программа.
Все казалось бы просто, и часть программы уже реализована. НО при максимально коротком нажатии любой кнопки передается более одного символа.
Помогите с примером кода на С.
Например есть некий буфер длинной N*3 где N - кол-во передаваемых символов за одно нажатие. При нажатии кнопки А начинает буфер заполнятся в случае если он содержит ААBBCC и следующая нажата D то выполняется программа иначе робот продолжает управляться пультом ДУ. В процессе заполнения буфера робот тоже должен двигаться.
Возможно есть лучше алгоритм.
Чот вроед все понятно а вот с кодом проблемы.:-( |