Порты ввода\вывода Atmega

Здесь вопросы новичков
Ответить
ukr823f
Сообщения: 1
Зарегистрирован: 06 мар 2012, 20:51

Порты ввода\вывода Atmega

Сообщение ukr823f » 06 мар 2012, 20:56

Ув. опытные коты, я уже начинаю потихоньку сума сходить с этими портами ввода\вывода.
Собрал в протеусе схемку с одной кнопкой и светодиодом Написал программку, но в ответ тишина. Нехочет МК понимать что я нажимаю кнопку. Хотя в протеусе даже видно что на ножке PINB0 - появляется 0.

пишу в десятичной системе, может тут ошибка?
для получения статуса кнопки может нужно использовать битовую операцию (которые я вообще немогу понять....) (REGISTR & (1<<N))


Мне в этом плане больше нравиться CodeVisionAVR.
Там понятно можно описывать. Но как я понял синтаксис как в AVR studio более правильный и именно его нужно использовать.
И вообще есть ли у CAVR недостатки перед AVR Studio?


вот код и файл протеуса. Подскажите где я ошибся, а то это уже тихий ужас...
Код:

Код: Выделить всё

#include <avr/io.h>    // Хотим использовать порты ввода/вывода
#include <util/delay.h>  // Хотим использовать функции задержек


int main()
{
    
DDRB = 0;
DDRD = 255;

PORTB = 255;
PORTD  = 0;

   while(1)
   {
      if (PINB0==1)
      {
         PORTD=(0<<0);
         _delay_ms(1000);
         PORTD=(1<<0);
         _delay_ms(1000);
         
      } 
      else
      {
         PORTD=0;
      }
     
   }     

}
Вложения
my1.zip
(7.16 КБ) 400 скачиваний

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость