Решил начать осваивать программирование на AVR. Была приобретена вот такая вещь (http://www.chipdip.ru/product/me-easyavr6.aspx), был скачен протеус и понеслось.
С примерами что в протеусе, что в макетке проблемм не возникло и решил я чего то напроектировать сам.
В протусе. Взял Atmega16, повесил на ножку B0 кнопку, кнопку кинул на землю. На С0 повесил диод и его тоже на землю кинул. Написал программку:
if (Button(&PORTB,1,1) {
PORTC=0x01;
}
else {
PORTC=0x00;
}
примерно такую, пишу по памяти.
Запускаю симуляцию: нажимаешь на кнопку, диод гаснет, отпускаешь - загорается. Ладно, допустим (хотя почему такое получается? Откуда берется единица на B0?). Пытаемся повторить тоже самое на макетной плате. В приложении фотка как кнопки подключены
http://electronix.ru/forum/style_images/1/.../attach_add.pngпереключил J13 на землю, воткнул J18 еще и.... ничего. Вообще никакой реакции. Опять же вопрос, почему в симуляторе работает, а тут нет?
идем дальше, возвращаем на макетной плате все обратно, шьем прошивку и работает все так как и надо -при нажатии на кнопку диод загорается, а при отпускании кнопки - гаснет. Т.е. абсолютно наоборот, нежеле в симуляторе. Но в симуляторе кнопка на землю заведена а в макетке - на питание, я так понимаю.
Тк вот вопрос: где в протеусе этот самый элемент питания? Нашел какой-то INPUT, и вроде даже заработало, но только на один раз - нажал, загорелось и все. Не гаснет после отпускания кнопки.
Эскизы прикрепленных изображений