Сидел писал-писал, все работало, было весело. И тут на простейшей фигне, как обработка пары кнопок возникла труба, такая большущая и ржавая в виде кривонакосонеработающего на практике кода. В принципе простейший код:
Код: Выделить всё
while(1){
if(PINA & (1<<PA1))
{
PORTA=(1<<PINA3);
}
if(PINA & (1<<PA2))
{
PORTA=(1<<PINA4);
}
}
Думаю пояснений не нужно. Ну в общем возился я с этой ерундой пол дня. И так и эдак выворачивал эти строчки, и через while и через вложенные условия, и ставя везде где нужно и нет скобочки, переписывал побитно. Уже усомнился правильно ли я вообще на программиста учиться пошел, и не стоит ли в дворники пойти, что такая ерунда в ступор вводит. И в таймер совал код, и через прерывания кнопки подключал, даже отдельный таймер под них делал, но все без толку. Максимум чего добился - дерганые мигающие светодиоды, чье поведение не подвластно ни каким законом и не зависит оно ни от кнопок, ни от колебания воздуха.
Хотя хочу заметить, что в одной из этих тщетных попыток получилось сделать так, чтобы при движении ногой светодиод менял яркость (из-за давления на стол наверное). Ну в общем залип по полной, депрессия все дела, поиск по гуглу как управлять этими кнопками, ничего не нашел для нескольких кнопок (:D), только матрицы, а они мне не нужны. В общем возненавидел все, что только можно.
В конце концов уже тем на паре форумов создал, тлен и мгла короче... Никто помочь не смог, это ввело в еще больший ступор.
А оказалось все элементарно - кнопки выходы плохо контачат с микроконтроллером, эх как же мне было не весело, когда я это осознал. Радости не было совершенно, лишь сожаления и разочарование. Видимо из-за огромного количества итерация втыкания вытыкания всяких проводков и микросхем в мою хлебную доску там все расшаталось и без давления сверху своими кривыми пальчиками контакт был слабый.
В общем сижу, попиваю чаек и представляю сколько я мог сделать за этот день полезного.
Только дописав понимаю насколько наитупейшим образом все это звучит
Тема дубль.
Сюда перенес.
aen