Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.07.2015, 07:34   #11
Arhat109
Senior Member
 
Регистрация: 14.06.2015
Адрес: СССР
Сообщений: 122
Вес репутации: 0
Arhat109 is an unknown quantity at this point
По умолчанию Re: Ускоряем и улучшаем скетчи. Ещё одна библиотека.

Это не интересно, не нужно или не работает? Как-то никто так и не проверил библиотеку... так стоит ли продолжать далее?

Вчера весь вечер убил на чтение даташита про прерывания. Задача была сделать замер длительности импульса (Wiring:: pulseIn()) через прерывания.

Внезапно выяснил, что использовать PCINT не получится, поскольку нет управления режимом прерываний: только по изменению уровня. А требуется переустанавливать с прерывания по фронту на прерывание по спаду, иначе легко можно намерить длительность не того уровня.

Кроме этого, вторая "засада": в прерывании типа PCINT невозможно (или я так и не понял КАК) узнать от какой конкретно ножки этого уровня оно прилетело. По сути, к примеру PCINT16..23 выведены на ножки Analog8..15 и их удобно использовать как прерывания (16 анлаговых ножек мне точно не надо) ... но одновременно разрешать можно только одну из них, иначе нет способа узнать "какая конкретно сейчас сработала"... а датчиков HC-SR04 у меня 2. Для них и делаю.

И третье: прерываний INT0..7 на Ардуино Мега разведено ... только 5. Из них 2 совмещаются в контроллере с шиной I2C, которая мне нужна "как воздух" (датчик гироскопа, гирокомпаса и дисплей 1602), ещё 2 - это USART1, который планировался как средство связи с приемо-передающими модулями, тот же Bluetooth, и пятое - это PWM ножка, которые все у меня планировались под аппаратный ШИМ на серво моторы (12шт)... и, "как быть"? Отказаться от USART1, заменив его на 2 или 3?

... в общем, требуется совет от бывалых: стоит ли реализовывать замер длительности импульсов в библиотеке через обработку прерываний?
Arhat109 вне форума   Ответить с цитированием
 

Метки
arduino mega 2560, скетч, ардуино


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 12:01. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика