IRLIB на STM32?

Cmustard
Солнце 10 апреля 2016 г. 13:13
У кого -нибудь имел некоторую степень успеха, чтобы получить инфракрасную библиотеку, работающую в режиме «Отправка и получение?

Я нашел эту хорошую инициативу https: // github.com/petoknm/stm32_nec_decode
Но это только сосредоточено на декодировании, а не на отправную часть.

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

Хотя я не такой опытный, как большинство из вас, ребята, здесь, на доске,
Я думаю, что это может быть слишком амбициозно для меня, но все равно стоит попробовать.

С наилучшими пожеланиями,

Пол

Mrburnette
Солнце 10 апреля 2016 г. 13:25
@Paul,
Victor_pv изучал это здесь и Гарт, заявил, что использует NEC здесь.http: // www.STM32duino.com/viewtopic.PHP ... t = 20#P3896

Но у меня есть мнение по этому поводу (я бы не стал?) Огромное количество полосы пропускания отдается в программное решение IR, IMO. У STM32F1 есть тактовые циклы, но много лет назад я разработал независимый подход UC, основанный на Tiny85. Я делал некоторые дисплеи инструментов в реальном времени для друга, которому владеет экспериментальный самолет, и я просто не хотел мешать моему уровню повторения, бросая в IR ... это было на AVR 2560. Я хотел, чтобы IR использовался для настройки часов в реальном времени и для ввода смещений, факторов исправлений и т. Д. В современном мире я бы использовал Bluetooth.

В любом случае,Вот специальное решение T85.

Луча
"Не теряет ли они лишние циклы процессора сегодня, они могут понадобиться завтра!"

Rogerclark
Солнце 10 апреля 2016 г., 21:49
@paul

Одна вещь, которую нужно помнить, это то, что пример кода использует API STM HAL, но наше ядро ​​не использует HAL. (Наше ядро ​​было первоначально написано моими Leaflabs задолго до того, как они выпустили HAL API)

Таким образом, вам нужно будет заменить вызовы HAL на код для непосредственного доступа к аппаратному обеспечению (но, поскольку HAL теперь является открытым исходным кодом, было бы достаточно легко увидеть, что делают звонки HAL, или возможно, просто скопируйте их Imto ваш код.)

Я заметил, что у STM есть несколько примечаний на декодирование ИК -декодирования и кодировки, но я не знаю, применимо ли что -либо в F103 (один для F0 и F3, но я не знаю, почему они сосредоточены на тех, кто на устройствах, а не на F1 и F2 также)

В любом случае, если вы решите сделать Lib STM32, я уверен, что это было бы удобно для многих людей

Cmustard
Пн 11 апреля 2016 г., 16:48
Привет, нежные джентльмены,

Я обнаружил несколько документов по таймерам и презентациям, которые напрямую можно обработать все время времени
Поскольку у STM32FXXXS есть аппаратные таймеры.
Вот когда я подумал, что это не должно быть слишком тяжело, пока я мог придерживаться хорошего совета Святого,
примеры и т. Д. и, возможно, копировать в нескольких кодовых снарядах, если они были совместимы с ядром Duino.
И это, вероятно, где он становится волосатым..

Еще немного фона о моей мотивации:
Я поставил себя в цель для разработки лазерной игры (с чрезмерно амбициозными целями)
Различные типы игр (захват флаг) (охотиться на кролик) Команда A VS Team B и т. Д. И больше таких вещей.
Поэтому игрок должен знать, из какой команды он/она попал.
Как правило, мне нужна IR -общение в виде
В идеале я бы хотел, чтобы центральный сервер отслеживал результаты и такому.

Подобно коммерческим материалам в заведениях в Ласергаме.
Однако это долгосрочная цель... краткосрочный я хотел бы поработать над отдельными компонентами.
И отправка IR - самая важная часть.

Я пробовал вещи с про-миними (поскольку HW должен быть достаточно крошечным, чтобы быть встроенным в пистолет.)
Но сочетание экрана Spied и ESP8266 и кнопок и светодиодов, а также лазер и Irsensor и MP3 -модуль для звуков
Даже если бы я занялся i2c вместо SPI и т. Д. Я бы, наверное, все еще оказался в ассилуме, прежде чем он сработает.

Все отдельные вещи работали отлично, некоторые также вместе, но все вместе как конечный продукт...не так
Я даже посмотрел на регистры смены и т. Д. Но это не очень помогло из -за фиксированных функций PIN и перекрытия некоторых функций
И, наконец, не менее чем у Mini было недостаточно Oomph.

Таким образом, я перешел в Nodemcu, и все стало хуже, когда я понял, что эта штука была чертовски нестабильной, и не решил много моих первоначальных проблем. хахаха.. глупый меня за то, что я не копал характеристики. Достаточно, прежде чем я купил набор. купить эй, они были дешевыми :-)

Поэтому я узнал из этой ошибки и начал с просеивания дизайнов MCU.
Аппаратное обеспечение STM32 выглядело довольно хорошо и подходит для цели
Гибкость штифта прерывает функции таймера и т. Д. Все выглядели убедительно.
Только одно предостережение... Пропавшая библиотека ИК.. Ну, по крайней мере, в Duino-Land

Вот почему за моей историей.

Комментарий Рэя не желает провести временные циклы SW - это взаимосвязающая точка зрения
Я также наткнулся на это и на Pro Mini (в реальном времени обработка всех функций стала ужасом, как вы можете себе представить)

Пол

Rogerclark
Пн 11 апреля 2016 г., 8:25 вечера
Я не могу вспомнить, кто это был, но я уверен, что кто -то еще на форуме строил систему лазерной метки.

Re: Использование примеров STS

У STM32 есть несколько классных аппаратных функций (большинство из которых мы только поцарапали поверхность)
Поэтому, если у ST есть некоторые заметки о применении о том, как использовать аппаратное обеспечение более эффективно для этого, это определенно стоит прочитать.

Тем не менее, имейте в виду, что у разных процессоров в семье есть дополнительное оборудование, которым F103 не обладает.
эн.глин. Я думаю, что серия F3, по -видимому, нацелена на аналоговый вход и обработку.

Стевех
Пн 11 апреля 2016 г., 23:13
«Стандартная периферийная библиотека» (SPL) является альтернативой HAL. Действительно, HAL был получен из SPL.

Оба являются потрясающими драйверами с открытым исходным кодом (обширными) и управлением MCU, которые я использую, и несколько к сожалению, в то время как ArduinoArm People Reventive эти колеса. Freescale/NXP имеет что -то похожее на HAL и SPL, но я считаю, что они намного хуже и ограничены.

Mrburnette
Пн 11 апреля 2016 г., 11:35 вечера
Стевех написал:«Стандартная периферийная библиотека» (SPL) является альтернативой HAL. Действительно, HAL был получен из SPL.

Оба являются потрясающими драйверами с открытым исходным кодом (обширными) и управлением MCU, которые я использую, и несколько грустно смотрите, в то время как ArduinoArm Arling Revening эти колеса. Freescale/NXP имеет что -то похожее на HAL и SPL, но я считаю, что они намного хуже и ограничены.

Rogerclark
Вт 12 апреля 2016 г. 12:06
Проблема с SPL (и HAL) в том, что они были сделаны только действительно открытым исходным кодом, довольно недавно.

До этого, хотя вы можете загрузить SPL и использовать его для своих собственных коммерческих или некоммерческих продуктов, было невозможно написать продукт с открытым исходным кодом, который ссылался на SPL, не требуя, чтобы конечный пользователь загружал SPL отдельно (как Код содержит пункт о не перечислении)

Следовательно, почему, как мы считаем, что Leaflabs пришлось кодировать свой собственный API с аппаратным обеспечением с нуля.

На самом деле только с начала года, когда выход из куба STM можно использовать для проектов с открытым исходным кодом, и даже тогда у некоторых файлов первоначально были проблемы с лицензированием (хотя и не преднамеренно)

Примечание. Я знаю, что некоторые другие проекты, такие как MakerLabme и т. Д., Опубликовали код SPL из STM в их репо, но Afik знает, что он, скорее всего, нарушает условия использования в этих файлах SPL, чтобы перераспределить их (E.G на GitHub)

Стевех
Ср 13 апреля 2016 г., 2:33
По "Открытый исходный код".. что ты имеешь в виду?
Spl и Hal - я работаю с ними всего 1 1/2 года. Я не гуру IP, но они предоставляются ST всем, кто хочет зарегистрироваться с помощью имени/электронной почты и скачать. Нет сборов, о которых я знаю, чтобы включить их в продукты. Действительно, цель этого состоит в том, чтобы ускорить время на рынке и стоимость развития. Nxp/freescale делает то же самое.

Я делаю коммерческую работу с Хэлом, и нет проблем с оставлением их кредитов в источнике, и, если нам нужно, приписывая их в выпуске продукта, который использует двоичные файлы. Как и многие циклы продукта, исходный код ST-Original не предоставляется и обычно не нужны клиентам.

Я не изменяю код ST по очевидным причинам - в основном, что мне не нужно, а также я не хочу вызывать беспорядок на конфигурации, когда они выпускают обновления несколько раз в год. Я могу взять свои источники за минус источники ST из HAL и Cubemx, создать базовую линию и рассказать кому-то, как сделать свою собственную загрузку кода и кода с Cubemx и получить тот же результат. Если необходимо.

Некоммерческие приложения - я не читал мелкий шрифт. Но я не думаю, что есть ограничения, кроме как оставить Сент -Кредит на месте. Кажется мне справедливым, как будто мне пришлось разработать все эти драйверы из голого металла, это сделало бы стоимость и график, а также сложность, непрактичная. Не как немного кода для картинки или avr.

Хобби рынок... Ну, ты знаешь эту историю. Лучше всего - получить его в университетские лаборатории для импринтинга - как Apple хочет сделать.

Наконец, низкая стоимость MCU, и M3/M4 с щедрым размером Flash/RAM - делает его нелогичным делать, как мы все делали.. Работаю часами с низкоразмерной MCU - ложная экономика. Большие неоплачивающиеся затраты на рабочую силу имеют смысл, только если вы строите миллион и имеете большую базу амортизации. Для авокационного.. Мы говорим о незначительной стоимости деталей Deltas.

Итак, я, конечно, упустил смысл публикации.

Rogerclark
Ср 13 апреля 2016 г., 4:28 утра
В STM была пункт о не распределении

Это означает, что для вас и любого другого можно загрузить и использовать код

Тем не менее, было невозможно основывать Arduino «ядро» на STM, так как Arduino Core отправляются в качестве исходного кода, и не было возможности включить какой -либо код SPL.

Если вы работаете на кого -либо и используете SPL, технически вы не могли (до этого года) объединить SPL своим кодом, когда вы его передаете

Ваш клиент, технически должен был загрузить свою собственную копию SPL, чтобы скомпилировать ваш код


Конечно, это вся история сейчас, так как в этом году STM изменила свою IP -лицензию, чтобы разрешить перераспределение.

Я просто пытался объяснить, почему Libmaple Arduino Core, написанный Leaflabs в 2012 году, не использовал SPL.

Mrburnette
Ср 13 апреля 2016 г. 13:39
Стевех написал: <...>
Итак, я, конечно, упустил смысл публикации.

Ахулл
Ср 13 апреля 2016 г. 16:14
Mrburnette написал: Вы, ребята, заметили, что этот форум не рекомендуется Leaflabs? Прохладный.
Вы все еще можете прочитать документы. Форумы останутся активными до августа 2016 года, но в этот момент они будут преобразованы в статический архив. Рассмотреть возможность проверки ресурсов и сообщества в http: // www.STM32duino.компонент вместо. Луча

Mrburnette
Ср 13 апреля 2016 г., 21:39
Ахулл написал:Mrburnette написал: Вы, ребята, заметили, что этот форум не рекомендуется Leaflabs? Прохладный.
Вы все еще можете прочитать документы. Форумы останутся активными до августа 2016 года, но в этот момент они будут преобразованы в статический архив. Рассмотреть возможность проверки ресурсов и сообщества в http: // www.STM32duino.компонент вместо. Луча

Ахулл
Ср 13 апреля 2016 г., 21:54
Несколько лет назад я * почти * отправил благодарственную открытку кому -то, кто заскочил с домашним тортом с линией "Спасибо за торт, это было очень неприятно"... мозговой пердус, а не ошибка проверки орфографии. Он должен был прочитать.. .. Торт был очень приятным.... К счастью, ошибка была замечена до того, как было опубликовано оскорбление. : oops:

ZMEMW16
Ср 13 апреля 2016 г., 22:36
вкусный ???

Rogerclark
Ср 13 апреля 2016 г. 22:46
Пасти ?

Ахулл
Ср 13 апреля 2016 г. 11:01
ZMEMW16 написал:вкусный ???

Mrburnette
Ср 13 апреля 2016 г. 11:47
Ахулл написал:Несколько лет назад я * почти * отправил благодарственную открытку кому -то, кто заскочил с домашним тортом с линией "Спасибо за торт, это было очень неприятно"... мозговой пердус, а не ошибка проверки орфографии. Он должен был прочитать.. .. Торт был очень приятным.... К счастью, ошибка была замечена до того, как было опубликовано оскорбление. : oops:

Rogerclark
Чт 14 апреля 2016 г. 12:37
https: // en.Википедия.орг/вики/малапропизм ??

Рекснанет
Вт 26 апреля 2016 г., 18:04
Кто -нибудь пробовал библиотеку "невзвисцины"?

У этого уже есть много вещей. Я думаю, что «единственная работа» должна быть выполнена, чтобы заменить прерывание вызовов конфигурации, которые сделаны непосредственно в AVR HW, для STM32 HW...

Я скачал и получаю эти ошибки: G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp: In member function 'void IRrecv::enableIRIn()': G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:115:6: error: 'cli' was not declared in this scope cli(); ^ In file included from G:\User\Documents\Arduino\libraries\IRremote\IRremote.h:24:0, from G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:1: G:\User\Documents\Arduino\libraries\IRremote\IRremoteInt.h:246:3: error: 'TCCR2A' was not declared in this scope TCCR2A = _BV(WGM21); \ ^ G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:120:2: note: in expansion of macro 'TIMER_CONFIG_NORMAL' TIMER_CONFIG_NORMAL(); ^ In file included from G:\User\Downloads\arduino-1.6.5-r5\hardware\Arduino_STM32\STM32F1\cores\maple/Arduino.h:30:0, from G:\User\Documents\Arduino\libraries\IRremote\IRremoteInt.h:24, from G:\User\Documents\Arduino\libraries\IRremote\IRremote.h:24, from G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:1: G:\User\Documents\Arduino\libraries\IRremote\IRremoteInt.h:246:16: error: 'WGM21' was not declared in this scope TCCR2A = _BV(WGM21); \ ^ G:\User\Downloads\arduino-1.6.5-r5\hardware\Arduino_STM32\STM32F1\cores\maple/wirish.h:103:25: note: in definition of macro '_BV' #define _BV(bit) (1 << (bit)) ^ G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:120:2: note: in expansion of macro 'TIMER_CONFIG_NORMAL' TIMER_CONFIG_NORMAL(); ^ In file included from G:\User\Documents\Arduino\libraries\IRremote\IRremote.h:24:0, from G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:1: G:\User\Documents\Arduino\libraries\IRremote\IRremoteInt.h:247:3: error: 'TCCR2B' was not declared in this scope TCCR2B = _BV(CS21); \ ^ G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:120:2: note: in expansion of macro 'TIMER_CONFIG_NORMAL' TIMER_CONFIG_NORMAL(); ^ In file included from G:\User\Downloads\arduino-1.6.5-r5\hardware\Arduino_STM32\STM32F1\cores\maple/Arduino.h:30:0, from G:\User\Documents\Arduino\libraries\IRremote\IRremoteInt.h:24, from G:\User\Documents\Arduino\libraries\IRremote\IRremote.h:24, from G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:1: G:\User\Documents\Arduino\libraries\IRremote\IRremoteInt.h:247:16: error: 'CS21' was not declared in this scope TCCR2B = _BV(CS21); \ ^ G:\User\Downloads\arduino-1.6.5-r5\hardware\Arduino_STM32\STM32F1\cores\maple/wirish.h:103:25: note: in definition of macro '_BV' #define _BV(bit) (1 << (bit)) ^ G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:120:2: note: in expansion of macro 'TIMER_CONFIG_NORMAL' TIMER_CONFIG_NORMAL(); ^ In file included from G:\User\Documents\Arduino\libraries\IRremote\IRremote.h:24:0, from G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:1: G:\User\Documents\Arduino\libraries\IRremote\IRremoteInt.h:248:3: error: 'OCR2A' was not declared in this scope OCR2A = TIMER_COUNT_TOP / 8; \ ^ G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:120:2: note: in expansion of macro 'TIMER_CONFIG_NORMAL' TIMER_CONFIG_NORMAL(); ^ G:\User\Documents\Arduino\libraries\IRremote\IRremoteInt.h:249:3: error: 'TCNT2' was not declared in this scope TCNT2 = 0; \ ^ G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:120:2: note: in expansion of macro 'TIMER_CONFIG_NORMAL' TIMER_CONFIG_NORMAL(); ^ G:\User\Documents\Arduino\libraries\IRremote\IRremoteInt.h:222:30: error: 'TIMSK2' was not declared in this scope #define TIMER_ENABLE_INTR (TIMSK2 = _BV(OCIE2A)) ^ G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:123:2: note: in expansion of macro 'TIMER_ENABLE_INTR' TIMER_ENABLE_INTR; ^ In file included from G:\User\Downloads\arduino-1.6.5-r5\hardware\Arduino_STM32\STM32F1\cores\maple/Arduino.h:30:0, from G:\User\Documents\Arduino\libraries\IRremote\IRremoteInt.h:24, from G:\User\Documents\Arduino\libraries\IRremote\IRremote.h:24, from G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:1: G:\User\Documents\Arduino\libraries\IRremote\IRremoteInt.h:222:43: error: 'OCIE2A' was not declared in this scope #define TIMER_ENABLE_INTR (TIMSK2 = _BV(OCIE2A)) ^ G:\User\Downloads\arduino-1.6.5-r5\hardware\Arduino_STM32\STM32F1\cores\maple/wirish.h:103:25: note: in definition of macro '_BV' #define _BV(bit) (1 << (bit)) ^ G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:123:2: note: in expansion of macro 'TIMER_ENABLE_INTR' TIMER_ENABLE_INTR; ^ G:\User\Documents\Arduino\libraries\IRremote\irRecv.cpp:127:6: error: 'sei' was not declared in this scope sei(); // enable interrupts ^

Стевех
Ср 27 апреля 2016 г., 3:57
Очень интересная статья, часть 1 на IR с микропроцессорами.

Журнал Circuit Cellar. Май 2016 года.

Just4fun
Пт 29 апреля 2016 г., 18:34
Последняя версия 2.1.0 из Irmote Library (https: // github.com/z3t0/arduino-irremote) может использоваться с Teensy 3.0/3.1, в котором используется 32-битная кора Arm Cortex M4 MCU при 72 МГц и Teensy-LC с корой M0+ ARM. Так что расстояние "может" не столько... (В любом случае на Teensy 3.Используется таймер x CMT, который является специализированным таймером в Freescale MPU. Всего 2 минуты поиска...)

Рекснанет
Вторник 10 мая 2016 г. 10:07
Just4fun написал:Последняя версия 2.1.0 из Irmote Library (https: // github.com/z3t0/arduino-irremote) может использоваться с Teensy 3.0/3.1, в котором используется 32-битная кора Arm Cortex M4 MCU при 72 МГц и Teensy-LC с корой M0+ ARM. Так что расстояние "может" не столько... (В любом случае на Teensy 3.Используется таймер x CMT, который является специализированным таймером в Freescale MPU. Всего 2 минуты поиска...)

Cmustard
Пт 13 мая 2016 г., 10:02
Специфичные вещи на STM не так просто.

Если у вас есть сорт STM32, который может выполнять, и операции затвора на 2 выходных часах, то это намного проще..
Установите сигнал 38 кГц в качестве базовой частоты. а затем включите и выключите сигнал на 2 -м таймере, чтобы получить правильный выход.
Я мог бы сделать это таким образом, объединив два тайма на отдельных булавках, но это потребляет два булавки и потребовалось бы два дополнительных транзистора снаружи для F103.Типовые доски, которые, вероятно, являются тем, что использует большинство хобби -бобов.
Но это хак HW, чтобы все правильно понять.

Другим способом было бы построить мини -таймерную схему для базовой частоты. (e.глин. 38 кГц) Использование IC 555 таймера и несколько резисторов, но опять же, это взлом HW, которого я хотел бы избежать, если это возможно, так как это немного, кроме того, что библиотека SW.
Но опять же, это значительно упростит проблему : D

Причина, по которой я посмотрел на IR LIB, заключается в том, что генерация сигнала (специфичная для протокола) и аппаратная часть разделены в самой библиотеке.
и все размещено в отдельных функциях, что великолепно.
Это делает Irlib довольно портативным, но часть HW оказалась для меня более сложной, чем изначально (из -за упомянутых выше моментов).
В текущей библиотеке есть много низкоуровневых вещей AVR, которые получают правильное время
(Остановите прерывания, зарегистрируйте мокку и засунув прерывания снова и т. Д.)
В STM это может быть сделано аналогично, но это может оказать огромное влияние на прерывания и, следовательно, на другие библиотеки/функции в проекте.
Так что я не слишком люблю этот метод и ищу альтернативы.
Похоже, у меня не будет что -то работать в ближайшее время, кстати.
Кроме того, потому что я изо всех сил пытаюсь объединить вещи HAL с Duino Ide, я не уверен, насколько я заканчиваю в конфликте с основными либералами, делая это.

И особенно потому, что я не опытный программист, делайте дополнительное время :-(
Но все же это хорошее время, потраченное !

Пол

Zoomx
Пт 13 мая 2016 г., 10:46
Я нашел этот немецкий пост
IRMP на STM32 - USB IR -приемник / передатчик / выключен с выключением с таймером пробуждения
https: // www.Микроконтроллер.сеть/статья ... Кеуп-Тамер

Здесь с Google Translate
https: // Перевод.Google.это/перевести?с ... edit-text =

Just4fun
Пт 13 мая 2016 г., 11:03
Zoomx написал:Я нашел этот немецкий пост
IRMP на STM32 - USB IR -приемник / передатчик / выключен с выключением с таймером пробуждения
https: // www.Микроконтроллер.сеть/статья ... Кеуп-Тамер

Zoomx
Пт 13 мая 2016 г., 12:31
Грази! Спасибо! ;)

Нашел оригинальную английскую страницу здесь
https: // www.Микроконтроллер.net/strives/irmp _-_ английский

Рекснанет
Пт 27 мая 2016 г. 15:39
Zoomx написал:Я нашел этот немецкий пост
IRMP на STM32 - USB IR -приемник / передатчик / выключен с выключением с таймером пробуждения
https: // www.Микроконтроллер.сеть/статья ... Кеуп-Тамер

Gasparobr
Вт 17 января 2017 г. 16:21
Привет, я попытался собрать это с STM32Duino, но это не работает. У меня много ошибок. У кого -нибудь успел с любой ИК -библиотекой для STM32?

Zoomx написал:Я нашел этот немецкий пост
IRMP на STM32 - USB IR -приемник / передатчик / выключен с выключением с таймером пробуждения
https: // www.Микроконтроллер.сеть/статья ... Кеуп-Тамер

Здесь с Google Translate
https: // Перевод.Google.это/перевести?с ... edit-text =

Ахулл
Вт 17 января 2017 г. 22:52
Вы можете немного обмануть, если хотите отправить и получать последовательные данные по IR. -> http: // www.eBay.com/itm/5v-ir-infrarred- ... Swgyvxblqw

Что стоит, вот и ST, чтобы воспринимать проблему -> http: // www.ул.com/content/ccc/resource/ ... 053084.PDF

Конечно, было бы неплохо получить только программное решение, основанное либо на подходе ST, либо, возможно, использовании DMA для сдвига поток 10101101 на 36 38 или 40 кГц, в которые мы вводят наши данные. Получение правильного времени - это, конечно, большой трюк с IR, но по личному опыту (моя дневная работа включает разработку программного обеспечения для Set TV Top Boxs для отелей), как только вы получите, остальное остальное относительно тривиально.

victor_pv
Ср 18 января 2017 г. 12:05
Я смотрел на это в прошлом году и намерен продолжить, когда у меня есть время выкопать файлы, а затем продолжить их.

Я использовал примечание ST, связанную Энди в предыдущем посте. Что AN для чипов F0 и F3, которые включают внутреннюю схему для подключения 2 выходов таймера, таким образом, чтобы они предоставили выход с 56 кГц, 48 кГц или все, что необходимо для ИК -приемника, используемого в приложении.
F1 не хватает этой внутренней схемы, но ничто не мешает вам использовать 2 выхода таймера и реализовать схему на печатной плате с помощью пары транзисторов и немного больше. Это был мой подход.

У меня был на полпути, переведенный с периферийной библиотеки STM в основном в Libmaple, но, как я уже сказал работать. Я помню, что мне пришлось заказать ИК -светодиоды, отложить их в сторону и начал работать над игроком WAV, используя таймер для генерации вывода PCM. Я получил эту работу, и я не чувствовал, что ИК -материал был намного сложнее, но потом у меня не было времени, чтобы вернуться к нему.
Он определенно может использовать DMA, и я планировал обратиться к DMA, как только я сработал, чтобы уменьшить нагрузку на процессор.

Я не думаю, что это сложно. Любой, у кого есть немного опыта в C и The Timers STM32F1, должен иметь возможность завершить его быстрее, чем я.

Grumpyoldpizza
Ср 18 января 2017 г. 22:27
victor_pv написал:Я смотрел на это в прошлом году и намерен продолжить, когда у меня есть время выкопать файлы, а затем продолжить их.

Я использовал примечание ST, связанную Энди в предыдущем посте. Что AN для чипов F0 и F3, которые включают внутреннюю схему для подключения 2 выходов таймера, таким образом, чтобы они предоставили выход с 56 кГц, 48 кГц или все, что необходимо для ИК -приемника, используемого в приложении.
F1 не хватает этой внутренней схемы, но ничто не мешает вам использовать 2 выхода таймера и реализовать схему на печатной плате с помощью пары транзисторов и немного больше. Это был мой подход.

У меня был на полпути, переведенный с периферийной библиотеки STM STM в основном в Libmaple, но, как я уже сказал работать. Я помню, что мне пришлось заказать ИК -светодиоды, отложить их в сторону и начал работать над игроком WAV, используя таймер для генерации вывода PCM. Я получил эту работу, и я не чувствовал, что ИК -материал был намного сложнее, но потом у меня не было времени, чтобы вернуться к нему.
Он определенно может использовать DMA, и я планировал обратиться к DMA, как только я сработал, чтобы уменьшить нагрузку на процессор.

Я не думаю, что это сложно. Любой, у кого есть немного опыта в C и The Timers STM32F1, должен иметь возможность завершить его быстрее, чем я.

victor_pv
Чт 19 января 2017 г. 12:11
Grumpyoldpizza написал:

Интересное примечание. Хотел бы за то, что хотела общая библиотека или что -то, что может излучать RC5 напрямую ?

Каравин
Солнце 19 марта 2017 г. 9:09 вечера
Привет
Я сделал адаптацию для приема IRMP для STM32duino.

в https: // github.com/karawin/irmp-master

Протестировано с синей картой.

Рекснанет
Вт 11 апреля 2017 г. 9:53
Каравин написал:Привет
Я сделал адаптацию для приема IRMP для STM32duino.

в https: // github.com/karawin/irmp-master

Протестировано с синей картой.

Каравин
Сб 15 апреля 2017 г., 19:35
Спасибо! Я публиковал это на форуме и понял, что вы уже сделали это :)
Нужно проверить это как можно скорее! :)
ОК, дай мне знать.

Вадимель
Пн, 1 мая 2017 г., 8:18 вечера
https: // github.com/karawin/irmp-master
не может составить :( Maple Mini (STM32F103CBT6)


In file included from C:\Documents and Settings\Vadim\Мои документы\Arduino\hardware\Arduino_STM32\STM32F1\libraries\irmp-master-master/irmp.h:18:0, from C:\HELP\07ELECTRONIK\09MK\20MY\40shpagi\05LCD touch\00progr\24ver\PVS\PVS.ino:165: C:\Documents and Settings\Vadim\Мои документы\Arduino\hardware\Arduino_STM32\STM32F1\libraries\irmp-master-master/irmpsystem.h:98:22: fatal error: avr/io.h: No such file or directory # include ^ compilation terminated. exit status 1 Ошибка компиляции для платы Maple Mini.

Каравин
Пн, 1 мая 2017 г. 22:10
Что -то не так в выборе совета директоров.
Ты в
#если определить (atmel_avr)
случай.

Я сделал модификацию для
#elif определено (board_generic_stm32f103c)

Пожалуйста, измените All Board_generic_stm32f103c на ваше определение Mini Mini Mini, добавьте случай IFDEF или ELIF.
Вероятно
Если определить (arduino_maple_mini)

Они в
Поиск "STM32Duino" (3 попадания в 3 файла)
C: \ users \ jp \ documents \ arduino \ библиотеки \ irmp-master \ irmpconfig.H (1 хит)
Строка 162: * Измените аппаратный штифт здесь для STM32Duino
C: \ users \ jp \ documents \ arduino \ библиотеки \ irmp-master \ irmpsystem.H (1 хит)
Строка 44: #elif defined (board_generic_stm32f103c) // stm32duino
C: \ users \ jp \ documents \ arduino \ библиотеки \ irmp-master \ irsndconfig.H (1 хит)
Строка 170: * generic_stm32f103c (STM32duino, см. Irsend.Ино)

Вадимель
Вторник 2 мая 2017 г. 1:19
Каравин
Спасибо, сейчас компилируется. Я меняю все на arduino_maple_mini

Изображение


ОК найдено irmpconfig.час и изменить PIN -код на PA8 * Change hardware pin here for STM32Duino *--------------------------------------------------------------------------------------------------------------------------------------------------- */ #elif defined(ARDUINO_MAPLE_MINI) # define IRMP_BIT_NUMBER PA8 // use C15 pin

Каравин
Вторник 2 мая 2017 г. 7:59 утра
Да, вы можете удалить комментарий, это тест, чтобы узнать много способов реализации таймера.
И это работает!!! : mrgreen: Все смеются : mrgreen: : mrgreen: : mrgreen: Спасибо за библиотеку =) Большой. Наслаждаться.

уцккл
Чт, 07 сентября 2017 г., 13:28
Я делаю то, что ты сказал, но я получаю ошибку компиляции.
\Arduino\libraries\TimerOne/TimerOne.h:301:17: error: conflicting declaration 'TimerOne Timer1' extern TimerOne Timer1;

Каравин
Чт, 07 сентября 2017 13:48
Для чего доска?