Невероятный баг на ардуино

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

  1. как такое возможно?
    Код (Text):


    #include <EasyColor.h>

    EasyColor::HSVRGB converter;
    EasyColor rgb2rgb;

    #include <SPI.h>
    #include "Adafruit_GFX.h"
    #include <MCUFRIEND_kbv.h>
    MCUFRIEND_kbv tft;

    volatile byte hue;
    hsv in_hsv;
    rgb out_rgb;

    void setup() {
      Serial.begin(9600);
      Serial.setTimeout(30);
      tft.begin(37669);

      in_hsv.s = 127;
      in_hsv.v = 127;
    }

    void loop() {
      in_hsv.h = hue++;
      if (true) {} // если нет этой строки то меняеться только 3 цвета
      out_rgb = converter.HSVtoRGB(in_hsv,out_rgb);
      tft.fillScreen(rgb2rgb.RGB24toRGB16(out_rgb.r,out_rgb.g,out_rgb.b));
    }

     
     
  2. WhiteFox

    WhiteFox Нерд

    Может здесь нужна задержка? Попробуй заменить if(true){} на delay().
    Скорее всего где-то в библиотеке стоит условие по времени.
     
  3. parovoZZ

    parovoZZ Гуру

    так там же всего 3 цвета - красны, зелёный, синий. Какие ещё должны меняться?
     
  4. b707

    b707 Гуру

    а что код такой кривой?
    Зачем у вас hue - volatile?
    И главное - с чего оно байт? вы библиотеку-то открывали. смотрели какие там типы переменных?
     
  5. b707

    b707 Гуру

    Запомните "невероятные баги в ИДЕ" обычно находят программисты. которые в трех строчках кода разобраться не могут :)
    Делайте выводы...
     
    Igor68 и parovoZZ нравится это.
  6. Asper Daffy

    Asper Daffy Иксперд

    Я бы сказал «сказочный» :)
     
    Igor68 и Andrey12 нравится это.
  7. Un_ka

    Un_ka Гуру

    Hex-файлы прошивки со строкой и без строки показали бы.
     
  8. пробовал и delay и асемблерную команды NOP решатьеться только так
     
  9. вся радуга она меняеться только если между есть хоть одно условия
     
  10. эмм я целую ос на ардуино написал там 22 вкладки каждая из которых игра программа или меню и все это работает идеально 4 кнопки светодиод и экран oled 128 64 с буфером на стороне микроконтрольлера и в начале разработки я использова ардуино уно и свободно для локальных переменных было только 140 байт а перешел на мега я только чтобы не волноваться поповоду нестабильной работы и свозу искать проблему вместо тога чтобы винить плату)))
     
  11. волотаел здалал уже ПОСЛЕ осознания нестабильной работы кста один и тотже скетч скомпилированый дважды (без костыля) мог работать нормально а после перекомпиляции сново глючить кстате такой же баг был уменя и в lua в майне с модем open computers скорее всего по другим причинам и там я его исправил поменяв второй параметер черето на 1 а было 255 и тут я начал грешить на свой пк
     
  12. Un_ka

    Un_ka Гуру

  13. Airbus

    Airbus Радиохулиган Модератор

    Дак он наверное голосовой ввод использует? Там весь пост одной фразой. Ничего страшного. А вот на сиби.ру забанили бы за такой пост. Там очень нервные модераторы
     
  14. Daniil

    Daniil Гуру

    а как получить большие буквы голосовым вводом?
     
  15. akl

    akl Гуру

    громко орать? :rolleyes:

    более интересный вопрос - как получить скобки.
    наверно должны быть какие-то управляющие команды. типа "тчк" "зпт" итд
     
  16. Un_ka

    Un_ka Гуру

    Когда начинаешь вводить голосом, первая буква первого слова будет заглавной. Следующая заглавая будет в слове идущим после .!?
    Голосовой набор, даже с редактированием, для меня быстрее чем любой другой.
    Доходило до того, что я курсач на телефоне надиктовывал, а редактировал на компьютере.
     
  17. Airbus

    Airbus Радиохулиган Модератор

    А никак
    Явно голосовой ввод.
    Можно в Хромбраузере - есть плагин. Я так делаю когда многабукафф ну а потом правлю ручками ибо некрасиво.
     
  18. akl

    akl Гуру

    а я печатаю быстрее чем говорю
     
    issaom нравится это.
  19. Airbus

    Airbus Радиохулиган Модератор

    Везуха! Я так не могу
     
    issaom нравится это.
  20. issaom

    issaom Гуру

    ха... у меня такая основная работа, что я печатаю даже быстрее чем думаю....