Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.221.165.246] |
|
Сообщ.
#1
,
|
|
|
Поправьте мои рассуждения.
Датчик работает так, посылает ультразвуковой сигнал и ждет эха: посылается сигнал установки управляющего пина в 1 на 20 микросекунд, после это на другом пине жду логическую единицу, замеряю время. Плата stm32f103c8t6 72 МГц, имеет 4 таймера, 3 двух байтных и один четырехбайтный, я так понимаю, что мне нужен таймер 4-х байтный для большей точности чтобы отсчитать 20 микросекунд, а на срабатывание ножки которая ждет сигнала надо выставить внешнее прерывание? |
Сообщ.
#2
,
|
|
|
Цитата ter_nk_ @ Нет, если боретесь за точность - нужно использовать модуль захвата (capture) таймера. И уже в его прерывании обрабатывать. Если вы сделаете работу по прерыванию от ноги- у вас будет погрешность на время входа в прерывание и обработку какого-то количества команд до собственно чтения таймера. Модуль захвата делает все это аппаратно. И управляющий сигнал 20 мкс тоже лучше формировать неспосредственно таймером, через его модуля сравнения (compare). а на срабатывание ножки которая ждет сигнала надо выставить внешнее прерывание? |
Сообщ.
#3
,
|
|
|
Спасибо, а это вот если Stm32Cube как настроить таймер надо не подскажете?
|
Сообщ.
#4
,
|
|
|
Нет. Я предпочитаю читать документацию и не пользуюсь кубиками.
|
Сообщ.
#5
,
|
|
|
Ok, и на том спасибо.
|
Сообщ.
#6
,
|
|
|
Так в кубе чего настраивать, включить таймер, настроить делитель, включить вход захвата.
Вместе с кубом идут готовые проекты, с примерами применения переферии, можно в своей любимой среде загрузить проект и посмотреть как использовать таймер в данном применении. |
Сообщ.
#7
,
|
|
|
Тер, вот тут неплохо разъяснено всё, правда, программы написаны с помощью SPL, а не CUBE.
http://robocraft.ru/blog/ARM/739.html |