Ultrasonic HC RS-04

Тема в разделе "Arduino & Shields", создана пользователем Hector, 14 июн 2019.

  1. Asper Daffy

    Asper Daffy Гуру

    Нафига? Если ТС это настолько нахрен не нужно, что ему даже код в лом выложить, то нам-то зачем это решать? Впрочем, хочешь - решай.
     
    DetSimen нравится это.
  2. Mabru

    Mabru Нерд

    А как определить сколько времени выполняется loop?
    И как влиять на время выполнения?
     
  3. b707

    b707 Гуру

    ну можно например запомнить значение millis() в переменную, выполнить loop() , снова считать millis() и вычесть из нового значения старое - получите время исполнения цикла в миллисекундах
     
  4. BAR__MEN

    BAR__MEN Вселенский Няш Администратор

    Почитать пару учебников и понять.
     
    Asper Daffy нравится это.
  5. Mabru

    Mabru Нерд

    Понятно. Я думал, что есть какой-то способ определить, если анализировать скетч.
    Ну, например, я работаю с БД, всякие селекты и т.п. И примерно понимаю, какой из моих селектов быстро отработает, а какой долго. Просто по условиям понятно, кто больше данных обрабатывает, а кто меньше. Не говоря уже о какой-то оптимизации в виде индексов, партиций, плана запросов и т.п.

    По микроконтроллеру тоже понятно, что какие-то операции больше времени занимают, какие-то меньше. Но думал, что есть какие-то общие рекомендации по коду скетча прикинуть узкие места.
     
  6. Mabru

    Mabru Нерд

    Понятно, спасибо.
     
  7. Hector

    Hector Нуб

    А как это выглядит в программе?Можно код.
     
  8. b707

    b707 Гуру

    примерно так же ккак в БД - когда вы чуть освоитесь - сразу по виду инструкции будете понимать, какие части кода сколько примерно занимают по времени
     
    Daniil нравится это.
  9. Daniil

    Daniil Гуру

    да, в ардуинке тоже нужно примерно понимать, чтобы оценить время.
    Для выбранной задачи вы используете игрушечное решение. Для этой игрушки заданные вами вопросы не являются критичными, поэтому и способы их решения примитивные (засекать время).
    Подозреваю с БД вы окунались на нижний уровень, тут тоже нужно, чтобы начать разбираться.
    Когда я прогал под пики (микрочип), то при отладке в их среде (МПлабХ) смотрел счетчик тиков, уверен в атмел студио есть что-то похожее, но ни разу не пользовался, т.к. нужды не было.
    Засечь время проще)
     
  10. ИгорьК

    ИгорьК Оракул Модератор

    Вот ведь трёп пустой.
     
  11. parovoZZ

    parovoZZ Гуру

    вот здесь перевод
    http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR035.htm

    Например, оптимизировать работу АЦП в ардуино - пустое занятие. Там не выйти хотя бы на 70 кГц, не говоря уже о максимальных 150 кГц.
     
  12. b707

    b707 Гуру

    ценное замечание
     
  13. parovoZZ

    parovoZZ Гуру

    я запускаю свободный таймер с прескалером 1. Лучше на 16 бит который.
     
  14. Daniil

    Daniil Гуру

    у меня есть systick (cortex-m), поэтому жульничаю как хочу)
    Кажется, в мплабХ было симулирование простеших камней. Я не знаю что в атмел студио можно симулировать.
     
  15. parovoZZ

    parovoZZ Гуру

    С USB на борту не симулируются,
    Арм процы не знаю. С остальными восьмибитками проблем вроде нет. Но у меня xplained умеет внутрисхемную отладку, поэтому я ей и пользуюсь. А там только таймер))
     
    Daniil нравится это.