как сделать reboot программно?

Тема в разделе "Arduino & Shields", создана пользователем djdance, 30 июл 2012.

  1. djdance

    djdance Нерд

    сабж!
    непонятно.

    как перегрузить только Ethernet-плату, я нашел:
    Код (Text):
        digitalWrite(4, LOW);
        delay(500);
        digitalWrite(4, HIGH);
        delay(500);
        Ethernet.begin(mac, ip);
        server.begin();
     
  2. Unixon

    Unixon Оракул Модератор

    1) частичный сброс - инструкцией перехода (типа asm("jmp 0"); ) на адрес начала программы или сброса через сторожевой таймер.
    2) полный аппаратный сброс - повесить один из портов контроллера на ногу сброса (напрямую или через инвертор/полевик) в зависимости от того, что на ноге присутствует во время инициализации МК, дрыгать ногой по необходимости;

    Как-то так...
     
  3. djdance

    djdance Нерд

    2) с ногой понятно, но не хочется занимать пин
    1) ассемблер в языке ардуино? :eek:
     
  4. Unixon

    Unixon Оракул Модератор

    Не существует никакого "языка Ардуино", есть только оболочка Arduino IDE и библиотека функций и классов на C++, которую по традиции считают "языком Ардуино" :) Можете преспокойно пользоваться всем, что есть в C/C++ и что умеет avr-gcc.

    "Wiring" - "язык Ардуино" придумали для того, чтобы начинающим было как можно проще воплощать в жизнь свои идеи, не влезая в тонкости программирования и детали внутреннего устройство микроконтроллеров. На самом деле это просто удобная библиотека поверх совершенно стандартного C++. Если чувствуете, что вы уже выросли из этого начального уровня, тогда "добро пожаловать в мир неограниченных возможностей" :D
     
    nailxx нравится это.
  5. djdance

    djdance Нерд

    перефразирую: нужен пример, на который бы не ругался компилятор ардуино

    upd. я не сишник, увы
     
  6. Unixon

    Unixon Оракул Модератор

    nailxx нравится это.