Принципиальная схема Arduino UNO

Russk1j
Offline
Зарегистрирован: 03.05.2012

Здравствуйте. Вобщем такой вопрос. Я хотел начать разбираться в общем по программированию AVR микроконтроллеров без библиотек, или точнее основу разобобрать. И хотел вот уточнить, можно ли использовать ардуино UNO. Просто можно конечно пойти купить отдельно программатор или собрать, и купить отдельно чип. Но ведь в ардуино и так уже все вместе. Могу я писать в процессинге и прошивать контроллер? Например вот самая простая программа для новичков:
 

//Мигающий светодиод
//переопределение типов
typedef unsigned char byte;
void main()
{
            //переменные и константы
const byte ddrBInit = 0xFF;  //настройка выводов порта B – все на выход
const byte portBInit = 0xFF; //начальное значение порта B - всё выключено
const byte DelayTime = 100; //время задержки
 
//инициализация порта
ddrB = ddrBInit;
portB = portBInit;
while(1)
{
portB = ˜portB;         // переключаем состояние светодиода на обратное
            Delay_ms(DelayTime);          //делаем небольшую задержку
}

И опираясь на принципиальную схему, получается я должен подключить к выходу 6? (т.е. BP5 это 19 лапка и подходит к 6 выходу на плате ардуино)?

Russk1j
Offline
Зарегистрирован: 03.05.2012

И схема вот принципиальная:
http://arduino.ru/Schematic/arduino-uno-schematic.pdf

maksim
Offline
Зарегистрирован: 12.02.2012

Можете. Прямое управления выходами через регистры микроконтроллера Atmega

Но что бы заработала задержка Delay_ms нужно подключить соответсвуюющую библиотеку, либо писать просто delay.

//Мигающий светодиод
//переопределение типов

int main()
{
  //переменные и константы
  const byte ddrBInit = 0xFF;  //настройка выводов порта B – все на выход
  const byte portBInit = 0xFF; //начальное значение порта B - всё выключено
  const byte DelayTime = 100; //время задержки

  //инициализация порта
  DDRB = ddrBInit;
  PORTB = portBInit;

  while(1)
  {
    PORTB = ~PORTB;         // переключаем состояние светодиода на обратное
    delay(DelayTime);          //делаем небольшую задержку
  }
}

 

Russk1j
Offline
Зарегистрирован: 03.05.2012

 

Спасибо за ссылку. А в arduino UNO же atmega 328? То есть всетаки нужно использовать библиотеки? А тогда я могу использовать программу  microC PRO for AVR или CodeVisionAVR? Просто я хотел не то чтобы только напрямую работать с чипом. Но и стараться не прибегать к помощи библиотек и вообще к среде Processing. Чтобы мог легко взять и программировать любой чип и в CodeVisionAVR.