[Решен] Tone () не работает над F072-раскрытием

Ekawahyu
Сб 23 сентября 2017 г., 4:24
Вот моя последняя функция, чтобы добавить STM32F072 Discovery в один из вариантов. Кажется, все работает нормально, кроме тона (). Я выполнил все шаги в вики, что еще мне нужно посмотреть (или я пропустил?)

Я пробовал с TIM15 и TIM14 для Timer_tone без удачи!

Ссылка на мою работу здесь: https: // github.com/ekawahyu/arduino_cor ... Ry-Variant

fpistm
Сб 23 сентября 2017 г., 7:21
Хорошо. Я посмотрю.

Ekawahyu
Сб 23 сентября 2017 г. 8:52 утра
Я добавил Makefiles и OpenOcd с поддержкой отладки на Eclipse, потому что я ничего не могу сделать, чтобы найти, где это идет не так с Arduino IDE.

Особенности Makefile и OpenOCD можно найти здесь: https: // github.com/ekawahyu/arduino_cor ... nd-openocd

Пока что я могу сказать, код, кажется, застрял после включения прерывания таймера: /* Enable the TIM Update interrupt */ __HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE);

fpistm
Сб 23 сентября 2017 г. 9:56 утра
Ваш вариант кажется в порядке. Хорошая работа.
После проверки спецификации STM32F072:
http: // www.ул.com/content/ccc/resource/ ... 090510.PDF
TIM14
Этот таймер основан на 16-разрядном автоматическом перепончике и 16-битном предварительном состоянии.
TIM14 имеет один отдельный канал для входного захвата/вывода сравнения, SWM или One-Pulse
режим вывод.
Его счетчик может быть заморожен в режиме отладки.
TIM15, TIM16 и TIM17
Эти таймеры основаны на 16-разрядном автоматическом перепончике и 16-битном прокалере.
Итак, я думаю, что есть проблема с основным управлением таймером.
Вероятно, набор значений неверен, тогда счет...
Я постараюсь воспроизвести на других досках. Не воспроизводитесь на моем F7. Я попробую Minday с вашим вариантом на Discovery F072.
Вы пробовали с TIM2 или TIM3.

Какой набросок вы использовали? Тонелоди?

Ekawahyu
Сб 23 сентября 2017 г. 16:51
Подтвердил, что TIM3 работает для Tone (), но у меня нет осциллографа для проверки правильной частоты. Временное исправление доступно здесь:

https: // github.com/ekawahyu/arduino_cor ... /tone-tim3

Tonemelody - это эскиз, с которым я тестирую.

К настоящему времени я объединил все обратно в ветвь, но он не включает временное исправление TIM3. Я надеюсь использовать TIM14 или TIM15, чтобы генерировать тон, прежде чем слияние в филиал. Спасибо.

Рик Кимбалл
Сб 23 сентября 2017 г., 17:09
Вы можете подключить выходной штифт на другой штифт и использовать Pulsein () для измерения.

fpistm
Сб 23 сентября 2017 г., 19:27
Хорошо, я сделаю несколько тестов в понедельник.
Не могли бы вы отправить проблему на ARDUINO_CORE_STM32, чтобы отслеживать эту проблему и добавить ссылку на этот пост. пожалуйста?

Ekawahyu
Сб 23 сентября 2017 г. 20:23
[Рик Кимбалл - Сб 23 сентября 2017 г., 17:09] - Вы можете подключить выходной штифт на другую конфигурацию PIN -кода, чтобы сделать Pulsein (), чтобы измерить.
Скоро сделает это, спасибо, что указали на это. Я никогда не использовал Pulsein () раньше
[fpistm - Сб 23 сентября 2017 г., 19:27] - Хорошо, я сделаю несколько тестов в понедельник.
Не могли бы вы отправить проблему на ARDUINO_CORE_STM32, чтобы отслеживать эту проблему и добавить ссылку на этот пост. пожалуйста?
Сделанный!

Ekawahyu
Солнце 24 сентября 2017 г. 8:25 утра
Таким образом, подтверждается, что частота тона () верна с TIM3. Я использовал Pulsein () для измерения времени на предложение RICK. С нетерпением жду исправления TIM14 и TIM15.

fpistm
Солнце 24 сентября 2017 г. 13:38
Спасибо, Экавахю

Один вопрос о вашем репо, зачем добавлять немного файла заголовка CMSIS?
https: // github.com/ekawahyu/arduino_cor ... 3D342B8730
Они уже доступны в CMSIS 4.5.0 Arduino Package?
Это для потребности в OPEOCD и Makefile?

Ekawahyu
Солнце 24 сентября 2017 г. 15:30
Да, это для целей макияжа и отладки. В любом случае, это не в главной ветви, но я склонен сохранить его позже, если мне нужно отлаживать с ST-Link через OpenOcd. Я просто не знаю лучшего способа поддержания Makefile и CMSIS основной ветви позже.

Я бы на самом деле предложил сохранить файл make в главной ветви, если вы, ребята, в порядке, добавив его. Я могу изменить его, чтобы найти 4.5.0 файлов заголовков в пакете Arduino. Просто дайте мне знать, что будет лучшим на дорожной карте, и я могу сделать пиар таким образом. Спасибо.

fpistm
Пн 25 сентября 2017 г. 11:33
Проблема была выявлена.
Какое -то имя обработчика IRQ было неправильно (TIM1 для EX), а некоторые отсутствуют.
Патч будет сделан в ближайшее время.

О добавлении makefile, почему бы и нет, но это кажется очень специфичным для одной цели.
Для заголовка CMSIS должно быть хорошо использовать один из пакета CMSIS, чтобы избежать дважды одного и того же файла.

Ekawahyu
Пн 25 сентября 2017 г. 14:57
Прохладный! С нетерпением жду исправления!

Makefile нуждается в некоторой работе, чтобы создать все драйверы устройств в качестве библиотек, создать его один раз, сохранить где -нибудь и восстановить его только тогда, когда есть обновление версии. К сожалению, у меня нет всех этих досок, чтобы проверить сборки Makefile, но я могу попытаться сделать их общими, прежде чем делать PR.

Единственная запутанная вещь прямо сейчас - это то, где построить USB -библиотеки для HID и CDC. Если он будет помещен как часть драйвера устройства или индивидуально в каждом варианте? Каков статус поддержки HID и CDC? Я пытаюсь создать стек CDC ACM из STM32Cubemx, но он не кажется достаточно общим.

Рик Кимбалл
Пн 25 сентября 2017 г. 15:13
[Ekawahyu - Солнце 24 сентября 2017 г. 15:30] - Да, это для целей макияжа и отладки. В любом случае, это не в главной ветви, но я склонен сохранить его позже, если мне нужно отлаживать с ST-Link через OpenOcd. Я просто не знаю лучшего способа поддержания Makefile и CMSIS основной ветви позже.
Вы можете отлаживать Arduino .Эльф -файлы, не делая собственного дела. Просто перейдите в каталог Build Output (/TMP/ARDUINO_BUILD_XXX для Linux) Запустите GDB и отладку прочь.

Я против поместить этот тип вещей в ядро ​​arduino. Я не думаю, что это в духе Ардуино. Arduino использует приложение Builder и изо всех сил старается избегать марки и Makefiles.

Если вы хотите сделать свое дело, сохраняя возможность настроить свою копию, вы можете посмотреть на это:
http: // stm32duino.com/viewtopic.PHP?T = 1741

Ekawahyu
Пн 25 сентября 2017 г., 15:24
[Рик Кимбалл - Пн 25 сентября 2017 г. 15:13] -
[Ekawahyu - Солнце 24 сентября 2017 г. 15:30] - Да, это для целей макияжа и отладки. В любом случае, это не в главной ветви, но я склонен сохранить его позже, если мне нужно отлаживать с ST-Link через OpenOcd. Я просто не знаю лучшего способа поддержания Makefile и CMSIS основной ветви позже.
Вы можете отлаживать Arduino .Эльф -файлы, не делая собственного дела. Просто перейдите в каталог Build Output (/TMP/ARDUINO_BUILD_XXX для Linux) Запустите GDB и отладку прочь.
Хорошо, посмотрю на это. Я знаю, что у Arduino есть свое строительство где -то в /tmp, но у меня не было времени, чтобы узнать, как это работает со всеми этими случайными сгенерированными вещами _xxx. Я должен быть где -то задокументирован, потому что ищу .Сам эльф уже неприятный, и он продолжает менять местоположение.

Рик Кимбалл
Пн 25 сентября 2017 г. 15:34
Просто переверните флажок в предпочтениях, чтобы просмотреть выходной каталог компиляции. Это покажет вам, где .Эльф идет.

Ekawahyu
Пн 25 сентября 2017 г. 16:19
И как идти по пути и запустить отладочную отладку, не делая его вручную каждый раз? Я не знаю, как настроить запуск отладки с .Расположение эльфа, которое продолжает меняться. Вот почему у меня был отдельный файл make -файла с первого места.

В конечном итоге цель-использовать как Arduino, так и Systemworkbench. Если это путь, по которому мы хотели пойти. Я не являюсь лицом, принимающим решения здесь, хотя.

РЕДАКТИРОВАТЬ: Хммм... Должен быть сценарий, который автоматически генерирует запуск отладки Eclipse каждый раз, когда .Эльф построен

Рик Кимбалл
Пн 25 сентября 2017 г. 16:55
ViewTopic.PHP?F = 35&t = 113#P837 Хотя лично я просто использую командную строку ARM-None-Eabi-GDB

Ekawahyu
Пн 25 сентября 2017 г. 18:51
[Рик Кимбалл - Пн, 25 сентября 2017 г. 16:55] - ViewTopic.PHP?F = 35&t = 113#P837 Хотя лично я просто использую командную строку ARM-None-Eabi-GDB
Ваши ссылки на GitHub мертвы, так что откуда я могу получить сценарий?

Ekawahyu
Вторник 26 сентября 2017 г., 17:52
@fpistm Я объединил изменения от @fprwi6labs и TIM14, кажется, работает просто отлично. Спасибо!

Сенсортильный