реклама на сайте
подробности

 
 
> STM32f4 discovery прерывания, Запутался в прерываниях, прошу помощи
Silber
сообщение Apr 23 2015, 14:49
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 24-02-15
Пользователь №: 85 339



в STM32CubeMX сгенерировал себе вот такой проект:
USB OTG FS(для передачи данных на пк через виртуальный ком-порт), TIM6, Синяя кнопка, +2 gpio пина для работы с ультразвуковым датчиком расстояния.
Цель программы - научиться считывать показания датчика. Как с ним работать: подать на пин Trig единицу длиной 10микроСек, засечь, сколько жду ответ от датчика по пину Echo. Преобразовать временной промежуток и получить расстояние до объекта. Все просто!
Как я хочу, чтобы работала программа: при нажатии на кнопку контроллер отправляет по usb мне расстояние до объекта. Алгоритм:
1)прерывание по нажатию на кнопку
2)запускается таймер, его источник - 48МГц, делитель 0, период 47. (чтобы каждую микросекунду он генерировал прерывание)
3)работа с сенсором //этот пункт сейчас не вызывает вопросов
4)отправка данных по usb
Данные по usb передаются нормально, но, если я включаю таймер, то USB виснет. Догадываюсь, что дело в прерываниях и их приоритетах. Приоритеты прерываний см на изображении. Что такое под-приоритет?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Silber
сообщение Apr 24 2015, 12:30
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 24-02-15
Пользователь №: 85 339



Показания сняты успешно!
Однако, не без загадок для меня: запомнил, что ответ с сенсора приходит приблизительно через 468мс, настроил Input capture канал таймера не на передний фронт, а на задний, вычел из захваченного значения 468 (получив таким образом длину эха) , преобразовал по формуле для длины ожидания ответа (поделил на 58). Получается, что производитель нагло врёт в мануале к датчику или я перевел не верно? (см. ниже)
The Timing diagram is shown below. You only need to supply a short 10uS
pulse to the trigger input to start the ranging, and then the module will send out
an 8 cycle burst of ultrasound at 40 kHz and raise its echo. The Echo is a
distance object that is pulse width and the range in proportion .You can
calculate the range through the time interval between sending trigger signal and
receiving echo signal. Formula: uS / 58 = centimeters or uS / 148 =inch; or: the
range = high level time * velocity (340M/S) / 2; we suggest to use over 60ms
measurement cycle, in order to prevent trigger signal to the echo signal.



Цитата(esaulenka @ Apr 24 2015, 15:24) *
Осциллографа под рукой нету?

Моргания светодиода в 0.5 миллисекунды глазом увидеть никак не получится, значит, это явно не то значение.
Может быть, через 468 микросекунд этот сигнал echo переходит в единицу, а потом, собственно, по получению эха, обратно в ноль?..

Быстрый способ проверки - поменять полярность срабатывания capture.
Правильный способ - почитать документацию (и нам показать).

Само собой получилось, пока ждал ответа тут. Осциллографа нет =/ (сколько стоит сие чудо техники?).

ПС помогите еще вот это перевести и осознать, а то я гироскоп уже спалил случайно =D
Attention:
The module is not suggested to connect directly to electric, if connected
electric, the GND terminal should be connected the module first, otherwise,
it will affect the normal work of the module.


Сообщение отредактировал Silber - Apr 24 2015, 12:34
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Apr 24 2015, 12:58
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Цитата(Silber @ Apr 24 2015, 15:30) *
Осциллографа нет =/ (сколько стоит сие чудо техники?).

За неимением осциллографа можно пользоваться лог.анализатором. Самый дешёвый вариант - китайский. Тем не менее, работает хорошо, периодически заменяя осциллограф ценой в несколько тыс. $. Аналоговые подробности сигнала там не видно, конечно. Но просто посмотреть, как ножки контроллера дёргаются - очень полезно.
А собственно осциллограф... 200..300$ - это самое-самое начало...




Цитата(Silber @ Apr 24 2015, 15:30) *
Attention:
The module is not suggested to connect directly to electric, if connected
electric, the GND terminal should be connected the module first, otherwise,
it will affect the normal work of the module.

Не понял, что это. Полная документация есть?

Цитата(Silber @ Apr 24 2015, 15:50) *
Так, а что такое тогда high level time?

Могу предположить, что "длительность высокого уровня на выходе echo".
Почему в описании предлагают измерять длительность от входного сигнала... Видимо, ошибка.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Silber   STM32f4 discovery прерывания   Apr 23 2015, 14:49
- - adnega   Цитата(Silber @ Apr 23 2015, 17:49) 2)зап...   Apr 23 2015, 16:10
|- - Silber   Цитата(adnega @ Apr 23 2015, 19:10) Тут в...   Apr 23 2015, 16:56
|- - adnega   Цитата(Silber @ Apr 23 2015, 19:56) А поч...   Apr 23 2015, 17:44
|- - Silber   Цитата(adnega @ Apr 23 2015, 20:44) Часто...   Apr 23 2015, 18:08
- - Silber   Ошибся в последнем предложении. Режим называется P...   Apr 23 2015, 19:40
|- - adnega   Цитата(Silber @ Apr 23 2015, 22:40) Режим...   Apr 24 2015, 05:36
|- - Silber   Цитата(adnega @ Apr 24 2015, 08:36) Вам д...   Apr 24 2015, 06:09
|- - adnega   Цитата(Silber @ Apr 24 2015, 09:09) Мой п...   Apr 24 2015, 06:32
|- - Silber   Цитата(adnega @ Apr 24 2015, 09:32) Ааа. ...   Apr 24 2015, 11:04
- - esaulenka   Осциллографа под рукой нету? Моргания светодиода ...   Apr 24 2015, 12:24
- - esaulenka   Как нарисовано, так и работает. По входу "три...   Apr 24 2015, 12:39
|- - Silber   Цитата(esaulenka @ Apr 24 2015, 15:39) Ка...   Apr 24 2015, 12:50
- - Silber   ЦитатаНе понял, что это. Полная документация есть?...   Apr 24 2015, 13:07
- - esaulenka   Ну... Надо учитывать, что Шенжень находится достат...   Apr 24 2015, 13:25
- - Silber   Цитата(esaulenka @ Apr 24 2015, 16:25) А ...   Apr 24 2015, 14:39
- - esaulenka   Цитата(Silber @ Apr 24 2015, 17:39) А в ч...   Apr 27 2015, 08:45


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 03:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.02227 секунд с 7
ELECTRONIX ©2004-2016