2 раза вызвать void setup

Тема в разделе "Флудилка", создана пользователем Platonizer, 30 дек 2019.

  1. Platonizer

    Platonizer Нуб

    Можно ли 2 раза вызвать void loop()??
    Код (Text):
    void loop() {
    lcd.print(temperature);
    }
    void loop() {
    Serial.print(temperature);
    Serial.print(/t);
    Serial.print(minute);
    }
     
    просто делаю апгрейт "Метеостанции" из Матрёшки.
     
  2. DIYMan

    DIYMan Guest

    Вызвать - да. Определить, т.е. сделать, как у вас написано - нет, можно только один раз.
     
    Andrey12 и NikitOS нравится это.
  3. NikitOS

    NikitOS Король шутов Администратор

    Код можно соединить. Руками, но все же...
    Нужно изучить, что и как в коде работает (да и как сам код пишется), а потом приступать
     
  4. asam

    asam Гик

    Так "2 раза вызвать void setup" или
    ?

    Вообщето loop() вызывается бесконечно пока питание подается или программа не зависнет.
    Вы лучше подробнее изложите чего конкретно хотите добиться.
     
  5. parovoZZ

    parovoZZ Гуру

    loop - это же колбэк функция? В которую из них вернётся выполнение программы?
     
  6. DIYMan

    DIYMan Guest

    Нет, loop - не callback функция, под определение callback она не подходит. Это просто функция, которую можно вызывать, откуда угодно, и сколько угодно. Но она, формально, по признакам - не callback.
     
    Platonizer и Andrey12 нравится это.
  7. DIYMan

    DIYMan Guest

    Для пояснения:

    1. Не callback:
    Код (C++):
    void loop()
    {
    }

    void main()
    {
      while(1) loop();
    }
    2. Callback:
    Код (C++):
    typedef void (*pFunc)(void);

    void callbackCaller( pFunc func)
    {
      func();
    }

    void loop()
    {
    }

    void main()
    {
      while(1) callbackCaller(loop);
    }
     
    Vovka, DetSimen и Andrey12 нравится это.
  8. kraus

    kraus Нерд

    Можно вызывать и больше чем 2 раза - с помощью прерывания.
     
  9. b707

    b707 Гуру

    можно и без прерываний
     
  10. NikitOS

    NikitOS Король шутов Администратор

    Можно и без некропостинга
     
    parovoZZ нравится это.
  11. kraus

    kraus Нерд

    ;) А дату-то я и не приметил.:)
     
  12. Код (C++):
    void main() {
    delayMicroseconds(1);
       PORTB |= (1<<SHE);
       delayMicroseconds(1);
        PORTB &= ~(1<<SHE);  
    Можно объявить функцию скажем чтобы она включала пин 6 (+5в) и выключала(0) эта конструкция встречается в 5 циклах, чтобы все не переписывать просто пишешь функцию и пусть цикл ее вызывает нужное количество раз

    void main()
     
    Последнее редактирование: 7 авг 2023
  13. что то типа этого
    Код (C++):
    for (int i = 0; i < var3 ; i++) {
    void main()
    }
    int (s = 0; s < var2 ; s++) {
    void main()
    }
     
     
  14. b707

    b707 Гуру

    невероятный бред - и по форме, и по содержанию.
    Во-первых, функцию main() в скетче ардуино определить нельзя, она там уже есть.
    Во-вторых,
    Код (C++):
    void main()
    - это не вызов функции
    и в-третьих, нафига это все?
     
  15. Igor68

    Igor68 Гуру

    Да конечно можно, только если Вы сможете надеть ботинки на уже обутые ноги! Снова зайдёте в хлебный магазин не выходя из него... ну и тому подобное.

    ЗЫ: А может Вам нужна многопоточность? Так это другая тема.
     
  16. parovoZZ

    parovoZZ Гуру

    Вы это зачем подняли? Причём ответами, которые к теме не относятся.