использование строк в проекте и его размер

Тема в разделе "Arduino & Shields", создана пользователем gonzales, 6 авг 2018.

  1. vvr

    vvr Инженерище

    ну не все на этом форуме программисты - большинство любителей и сравнивать вас с ними просто смешно))))
    я не умею работать с tft с тачем без библиотеки (да и не собираюсь).
    и если сговнокодить средних размеров меню, то уже ни в нану ни в уну не влазит.
    а как только переползаем на мегу - мелочные оптимизации просто теряют смысл, места валом))))
     
    arkadyf нравится это.
  2. b707

    b707 Гуру

    Я распределенно пишу. Один МК только управляет работой компрессора, а меню настройки - на другом. Зачем их обьединять, если компрессор стоит на грязном техническом этаже, а управлять им мне удобнее из чистого уютного кабинета? :)
    Так же и с термостатом - один МК мерят температуру. другой включает нагреватель. И опять обьединять их нет смысла. потому что мерить температуру нужно в одном месте, а нагревать - в другом :)

    ИМХО, Мега - плата ни о чем. Для отдельных проектов слишком мощная. для центра управления умного дома - слабая. тут удобнее малинка или апельсинка, тем более что разницы в цене уже почти нет.
     
    parovoZZ и arkadyf нравится это.
  3. vvr

    vvr Инженерище

    я так делал только один раз - совмещённый пульт видеосъёмки (для слайдера и для таймлапсов).
    одна нана - управление слайдером на две оси.
    вторая - таймлапсы на том же слайдере.
     
  4. SergeiL

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

    Ну не знаю, казалось бы 32К много, но как только начинаешь использовать Ethernet2, сразу к 80%.
    Меня в Ардуино как раз Ethernet и привлек!
    Получается, Leonardo ETH только попробовать, а так на Мегу переходить.
    Так сделали бы Мегу ETH. Просто, и без разъемов, снижающих надежность..
     
  5. parovoZZ

    parovoZZ Гуру

    Такие вещи логичнее создавать на ARM ядрах.
     
    koteika нравится это.
  6. SergeiL

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

    Да производительности хватает, вот памяти - нет.
     
  7. SergeiL

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

    А что есть вариант платы с ARM и Ethernet на борту?
    Чтобы пошел и купил?
     
  8. ZAZ-965

    ZAZ-965 Гуру

    SergeiL нравится это.
  9. SergeiL

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

    И еще бы хотелось, чтобы можно было купить, а не заказать и ждать месяц. ;)
     
  10. ZAZ-965

    ZAZ-965 Гуру

    NUCLEO можно купить, но за 30$ я выберу однокристалку с Linux (или две Orange Pi Zero). И "программировать" их можно методом apt-get install ;)
     
    parovoZZ, ИгорьК и Igor68 нравится это.
  11. SergeiL

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

    Ну, смотря для чего, анализировать 220В как здесь и включать свет, и управлять чем либо, с линуксом, по сравнению с голым МК, не так удобно ИМХО...
     
    Последнее редактирование: 7 авг 2018
    ZAZ-965 нравится это.
  12. parovoZZ

    parovoZZ Гуру

    Тут у кого-то esp с кучей памяти на борту просто тупо проветривает погребок, а вот
    почему-то
    Не понимаю.
     
  13. SergeiL

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

    Не понимаю...
     
  14. ИгорьК

    ИгорьК Гуру

    У меня!
     
  15. SergeiL

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

    Ну, много - не мало!
    С ESP все понятно, все работает ну и прекрасно!:)
    А что parovoZZ нацитировал - не понимаю... :mad:
     
  16. ИгорьК

    ИгорьК Гуру

    А меня эта парочка все пытается заставить краснеть за то, что погреб на многопамяти и дури а не на малопамяти и мало дури.

    Странные ребята. Вон, не знают что такое MQTT и не краснеют.
     
  17. parovoZZ

    parovoZZ Гуру

    Ну ведь на малинке ОС на ядре Linux. А это значит, что доступен абсолютно весь зоопарк языков - хоть LUA, хоть JS, Java, Python, GO!, да хоть даже BrainFuck! А им всё что-то не удобно((
     
  18. SergeiL

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

    И что, все это многообразие языков помогут на малине сделать недешовый диммер 220В, с контролем перехода через ноль?
     
  19. parovoZZ

    parovoZZ Гуру

    А куда делся контроль сети?
    Со схемотехникой придется попотеть - BCM проц ничем не защищен. И должен получится многоканальный диммер))) У меня же висит на малине NRF24 и работаю с ней на прерываниях. Поначалу тупо опрашивал регистр статуса, но грелось одно яйцо на малине))) Где-то видел тест простого ногодрыга - вроде как 4 МГц получилось. Уж для диммера это более, чем достаточно.
     
  20. CYITEP_BAC9I

    CYITEP_BAC9I Гик

    вечер добрый всем!
    не всем это дано, тут талант нужен:). в текущей поделке уже все ресурсы про мини угрохал динамическая память уже 96% занята(((. почти половину ресурсов, заняло как раз таки меню, на экранчике нокия 5110. и то я сильно ужал хотелки, чтоб там можно было настраивать все параметры игрушки.
    сорри за оффтоп. Ну не люблю я темы создавать из за мелочей.
    ( ща за такой вопрос гуру закидают хомяками но все же спрошу)
    Код (C++):
    #define Bott 7
    signed long X;
    bool a = 1;
    bool pressed = 0;
    //в среднем 22000 хватит

    void setup() {

      pinMode(Bott, INPUT);
      Serial.begin(9600);
    }

    void loop() {

      if (digitalRead(Bott) == 1)
      {
        X++;//инкрементируем каждый цикл
        a = 0;
        if (X >= 2200)
        {
          pressed = 1; // флаг что было нажатие,
          //сбрасывается после выполнения действия в основном цикле
        }

        // Serial.println("jejj");
      }

      else  if (digitalRead(Bott) == 0 && a == 0)
      {
        Serial.println(X);
        X = 0;
        a = 1;
        ///delay(2000);

      }
    }
    это нечто иное как отработка дребезга кнопок. (да это быдло"кот" я в курсе)
    причина в том что этот "кот" занимает 6% памяти и 9% динамической, против 6% и 11%, классического антидребезга на миллис. а если оформить в класс обработку нажатий, то экономия и вовсе приличная.
    варианты решения я и сам представляю.
    1 пожертвовать парой пунктов меню и написать классический антидребезг на миллис
    2 на "железном" уровне добавить конденсатор(это невозможно так как кнопки залиты термоклеем а выпаивать не хочется.
    в общем вопрос, имеет ли право на жизнь такой код антидребезга? или это хрень и написать как все люди пишут? Повторюсь причина, экономия каждого байта