На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > Датчик расстояния на STM32
      Поправьте мои рассуждения.

      Датчик работает так, посылает ультразвуковой сигнал и ждет эха:
      посылается сигнал установки управляющего пина в 1 на 20 микросекунд, после это на другом пине жду логическую единицу, замеряю время.

      Плата stm32f103c8t6 72 МГц, имеет 4 таймера, 3 двух байтных и один четырехбайтный, я так понимаю, что мне нужен таймер 4-х байтный для большей точности чтобы отсчитать 20 микросекунд, а на срабатывание ножки которая ждет сигнала надо выставить внешнее прерывание?
        Цитата ter_nk_ @
        а на срабатывание ножки которая ждет сигнала надо выставить внешнее прерывание?
        Нет, если боретесь за точность - нужно использовать модуль захвата (capture) таймера. И уже в его прерывании обрабатывать. Если вы сделаете работу по прерыванию от ноги- у вас будет погрешность на время входа в прерывание и обработку какого-то количества команд до собственно чтения таймера. Модуль захвата делает все это аппаратно. И управляющий сигнал 20 мкс тоже лучше формировать неспосредственно таймером, через его модуля сравнения (compare).
          Спасибо, а это вот если Stm32Cube как настроить таймер надо не подскажете?
            Нет. Я предпочитаю читать документацию и не пользуюсь кубиками.
            Сообщение отредактировано: Dushevny -
              Ok, и на том спасибо.
                Так в кубе чего настраивать, включить таймер, настроить делитель, включить вход захвата.
                Вместе с кубом идут готовые проекты, с примерами применения переферии, можно в своей любимой среде загрузить проект и посмотреть как использовать таймер в данном применении.
                  Тер, вот тут неплохо разъяснено всё, правда, программы написаны с помощью SPL, а не CUBE.
                  http://robocraft.ru/blog/ARM/739.html
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0224 ]   [ 15 queries used ]   [ Generated: 29.03.24, 00:00 GMT ]