Вывести в сериал массив word одной командой

Тема в разделе "Флудилка", создана пользователем Ariadna-on-Line, 20 май 2021.

  1. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Наверняка тыщу раз было спрошено, но не нашел. - Имеем массив
    double vReal[128];
    Как вывести в порт всю кучу без цикла, примерно как выводится одной командой строка символов -
    Serial.print("ужулужиужиналжаренымжуком"); ?
    Попросту говоря - Нужен самый кратчайший код.
    С уважением
     
  2. Asper Daffy

    Asper Daffy Иксперд

    А как надо вывести? Голимые коды (как строка выводится) или каждый элемент как число, да ещё и с запятой между ними?
     
  3. akl

    akl Гуру

    да вроде нету такой функции. а если бы была, один хрен в ней внутри цикл, так что какая разница.

    кстати double это не word. word это unsigned short или типа того.
     
  4. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Это понятно - внутри команд спрятано много чего, в том числе и цыклы. Нет - речь о кратчайшем "Ардуиновском" коде.
    Желательно бы два варианта - 1 чтобы Аррдуиновский плоттер осциллограмму рисовал, 2 - просто коды типа (старший байт0, младший байт0, старший байт1. младший байт1,...)
    ПС. Мне сейчас надо увидеть на плоттере как Ардуина "слышит" аккустический ДТМФ сигнал с микрофона.
     
    Последнее редактирование: 20 май 2021
  5. akl

    akl Гуру

    можно запихнуть массив в юнион и передать как строку, а на другой стороне обратно собрать в даблы. если я правильно понял что имеется в виду под 2 вариантом

    хотя передать как строку все равно не получится, т.к. нули. так что опять же побайтово в цикле. хотя я не понял что конкретно надо

    хотя для побайтовой передачи есть функция Serial.write(buf, len), так что нормально.
     
    Последнее редактирование: 20 май 2021
  6. akl

    akl Гуру

    можно вынести эту свою функцию с циклом в отдельный файл.
     
  7. b707

    b707 Гуру

    Ариадна, это заказ? :) - за 300р напишу

    А вообще забавно такие вопросы читать на программистком форуме. там кода-то строчек пять...
    какой еще "старший байт младший байт" ? - в ардуино тип double - это 4 байта
    Вы ничего не путаете? - в заголовке word, а в коде double... это совершенно разные вещи
     
  8. akl

    akl Гуру

    можно написать весь цикл в одну строчку. иногда сам так делаю

    кстати весь этот вывод в сериал может заметно подзамедлить программу, так что если там в реальном времени что-то оцифровывается и высчитывается, тем более в виде double - могут возникнуть трудности
     
  9. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Все справедливо. Отвечаю по пунктам -
    1. Не заказ. Идея-фикс сделать акустический канал связи Ардуин. Хобби.
    2. double vReal[samples]; - в таком формате принимаются данные с АЦП Ардуины в примерах к FFT библиотеке, хотя АЦП дает двух-байтные отсчеты.. Видимо для удобства работы алгоритма FFT. Ничего не менял в коде. Вы правы - зная про два байта АЦП, не обратил внимания.
    3. Ну прилепился тут не программист, а электронщик. Надоело разводить-паять-лудить, хоцца запрограммить чего-нибудь.
    Верно. Это надо для тестов, в рабочем коде - не будет.
     
    Последнее редактирование: 20 май 2021