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

 
 
> 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
Ответов
esaulenka
сообщение Apr 24 2015, 12:39
Сообщение #2


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

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



Как нарисовано, так и работает.
По входу "триггер" датчик формирует пачку импульсов.
По окончанию отправки пачки датчик выставляет "эхо" в единичку (у него это занимает ПРИМЕРНО 468 мкс).
По окончанию приёма пачки датчик выставляет "эхо" в ноль (длительность импульса - именно то, что нам надо).

Слово "примерно" я подчеркнул не зря - скорее всего, за цифру 468 производитель не ручается.
Соответственно, ПРАВИЛЬНЫЙ алгоритм - померять время обоих фронтов (благо, Вы это делать умеете - нужно задействовать ещё один канал таймера) и вычитать одно из другого.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
Silber
сообщение Apr 24 2015, 12:50
Сообщение #3


Участник
*

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



Цитата(esaulenka @ Apr 24 2015, 15:39) *
Как нарисовано, так и работает.
По входу "триггер" датчик формирует пачку импульсов.
По окончанию отправки пачки датчик выставляет "эхо" в единичку (у него это занимает ПРИМЕРНО 468 мкс).
По окончанию приёма пачки датчик выставляет "эхо" в ноль (длительность импульса - именно то, что нам надо).

Слово "примерно" я подчеркнул не зря - скорее всего, за цифру 468 производитель не ручается.
Соответственно, ПРАВИЛЬНЫЙ алгоритм - померять время обоих фронтов (благо, Вы это делать умеете - нужно задействовать ещё один канал таймера) и вычитать одно из другого.

Так, а что такое тогда high level time?
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
- - Silber   Показания сняты успешно! Однако, не без загадо...   Apr 24 2015, 12:30
|- - esaulenka   Цитата(Silber @ Apr 24 2015, 15:30) Осцил...   Apr 24 2015, 12:58
- - 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 - 13:22
Рейтинг@Mail.ru


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