STM32Generic, моя реализация Arduino

Даниэфф
Пн 10 апреля 2017 г., 6:53
Похоже, что текущие ядра нацелены на конкретные доски, и попытаться заставить их работать над другими - запоздалая мысль.
Даже официальный полон копирования/вставки и ненужных слоев кода по слоям.

В прошлую пятницу я также получил 407, поэтому я решил сделать общий на выходных: https: // github.com/danieleff/stm32generic

РЕДАКТИРОВАТЬ: Документация: https: // danieleff.GitHub.io/stm32generic/

* Основным вычетом является то, что USB Serial работал над 103S, на 407VE и на L0538-диско (не проверял другие платы), используя тот же код.
* Инструменты и несколько общих файлов бесстыдно скопированы из STM32Duino
* HAL из STM32 для каждой серии, выбор правильного. Мигание должно скомпилироваться на каждом чипе сейчас.
* Реализация на данный момент - это всего лишь легкая обертка на HAL (не код из официального ядра)
* Сначала заставьте его работать (с HAL), сделайте его быстро/малым позже (с доступом к регистрации в случае по случаю)
* Редактировать: Нет SPI / I2C / ADC / PWM еще... Хотя серийный UART есть и на основе этого, если API в основном одинаковы для каждой серии (я думаю да), они не должны быть жесткими. Они в тестируемом состоянии
* НЕТ предварительно скомпилированной статиблибренной вещи вещи
* Сделайте варианты (папку) максимально легким, чтобы можно было легко добавить новую. Установка часов и PIN -списки, и это все (и незаконно ldscript). Периферийные настройки, связанные с чипами, не находятся в варианте. (Но вариант должен быть в состоянии переопределить дефолты по умолчанию.)
* Сгенерировала периферическая установка, связанная с чипом, от Cubemx .XML -файлы
* Еще не переставил булавки
* Сделайте сценарий, чтобы скомпилировать мигание & другие, чтобы увидеть, что все компилируется на каждом варианте.

Что ж, я должен идти на работу сейчас...

AG123
Ср 12 апреля 2017 г. 16:07
Это действительно круто : D

Даниэфф
Ср 12 апреля 2017 г. 8:29 вечера
Спасибо!

Добавлена ​​базовая реализация SPI. Официальный Adafruit ILI9341 GraphicStest уже счастливо работает на черном F407

ZMEMW16
Ср 12 апреля 2017 г. 22:03
@danieleff
Я не мог удержаться от пробования !
Итак, полный список несовершеннолетних щекот
  • 1. chmod u+x /home/stephen/sketchbook/hardware/STM32GENERIC/tools/linux/stlink_upload chmod u+x /home/stephen/sketchbook/hardware/STM32GENERIC/tools/linux/stlink/st-flash

Даниэфф
Чт 13 апреля 2017 г. 22:19
Спасибо, я исправил флаги Linux Exepute.

Самая жесткая библиотека должна работать сейчас (нигде не нужно копировать), есть самостоятельный тест с петлей.
Подключите PA0-PA1, PA6-PA7 (MOSI1-MISO1), RX/TX (UART1), PA2/PA3 (UART2).
Он проверяет, если отправлена ​​что -то на одном выводе (с помощью цифровой записи/SPI записи/серийная запись) получена на другом. Достаточно хороший самостоятельный тест.
4 Быстрое мигание означает тестовые проходы, медленные средства не сбои. Позже добавит больше.
Результат также печатается через serialusb (по крайней мере, на черном 407).

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

ZMEMW16
Чт 13 апреля 2017 г., 22:26
Мои последние черные файлы F407VE прикреплены, только файл IOC действительно требуется :-)
Это в значительной степени соответствует схеме, множеству альтернатив, которые будут настроены, но сгенерированный HAL код делает это.
Я подозреваю, что если JTAG уменьшается до только к SWD -булавкам, то PB3 может использоваться в качестве цифрового, следовательно, SCK

Стивен

Даниэфф
Солнце 16 апреля 2017 г. 13:42
Добавлены базовые аналоговые и аналоговые/ШИМ. А теперь i2c.

Даниэфф
Пн 17 апреля 2017 г. 10:46
И добавил базовый I2C Master. На этом завершается первый раунд реализации.
Далее: документация и автоматические тесты.

michael_l
Ср 19 апреля 2017 г. 7:25 утра
Это выглядит интересно, варианты конкретные файлы очень маленькие.

Я пытаюсь понять структуру здесь. Таким образом, фактическая реализация основана на библиотеках CMSIS и HAL, которые в основном охватывают все периферийные устройства для каждой серии плат. Для получения этой работы в Arduino API - необходимо создать легкую обертку?

"Сгенерировала периферийную установку, связанную с чипом, от Cubemx .XML -файлы ". Могу я спросить, как вы это сделали? Это так, что CMSIS/HAL не содержит никакого кода периферийной настройки, связанного с чипом, и это должно быть сделано с помощью E.глин. Cubemx ? Спасибо.

Даниэфф
Ср 19 апреля 2017 г. 9:17
Привет

Я написал сейчас о текущей структуре проекта здесь: https: // danieleff.GitHub.io/stm32generi ... -структура
В настоящее время много вещей просто работает, вызывая функции HAL.
michael_l написал: "Сгенерировала периферийную установку, связанную с чипом, от Cubemx .XML -файлы ". Могу я спросить, как вы это сделали? Это так, что CMSIS/HAL не содержит никакого кода периферийной настройки, связанного с чипом, и это должно быть сделано с помощью E.глин. Cubemx ? Спасибо.

fpistm
Ср 19 апреля 2017 г. 16:07
Привет @danieleff,

Забавно, в настоящее время я делаю аналогичную работу, чтобы иметь только один репо для плат STM32 (в настоящее время F0/F4 OK. F3/L4/L0 по ходу) :)

Действительно хорошая работа.

К вашему сведению, вы можете использовать пакет Arduino CMSIS (4.5.0) Вместо того, чтобы иметь CMSI в вашем репо.

Даниэфф
Ср 19 апреля 2017 г., 19:53
Привет

Да, я думаю, что лучше всего иметь только один репо для каждого чипа.
Например, я только что добавил и протестировал на F746, и Analogread/Write, Serial, SPI, кажется, работает нормально с той же кодовой базой.

Самая большая проблема - Arduino включен 4.8.3 Компилятор ARM не знает, что '-mcpu = cortex-m7'... Так может тестировать только из Eclipse.
Возможно, придется создать для него пакет менеджера досок.

michael_l
Пт 21 апреля 2017 г. 16:36
Я только что получил F407VG Discovery, чтобы я мог проверить его с помощью вашего ядра, если вы добавите вариант. Спасибо.

Даниэфф
Пт 21 апреля 2017 г., 18:26
Здравствуйте, добавлено F407 Discovery, в целом у меня его нет, поэтому только используя документацию. Было бы круто, если бы светодиоды работали над PD12..PD15. Чем надеюсь, серийный USB. Попробуйте заставить этот акселерометр работать как -то, но у меня нет протокола SPI для этого. Наконец i2s, хотя сейчас ничего для этого.

michael_l
Пт 21 апреля 2017 г., 19:09
Спасибо, это было быстро! Попробую в эти выходные. Это довольно близко к черному 407, но имеет некоторые различия в булавках.

Да, у этой платы есть несколько интересных чипов, таких как 24-битный ЦАП, микрофон. Попытался также найти код для этого акселерометра, но не смог найти. Если он использует (еще не проверял) SPI, это должно быть довольно просто. Я бы поверил, что код и спецификации есть где -то в ST.com сайт просто должен найти его.

Что было бы круто, так это то, чтобы USB MSC работали и «Mount SD -карта» под ним, чтобы он был доступен для пользователя, чтобы просматривать файлы

Даниэфф
Сб 22 апреля 2017 г., 7:00 утра
MSC определенно возможен с использованием промежуточного программного обеспечения STM32. Однако он не предназначен для обработки нескольких интерфейсов (CDC+MSC), поэтому...

Я добавил предварительный SDIO и пример для перечисления, читать, написать файлы, используя черный разъем F407 SD с SDFAT-бета.
Ему нужно изменение файла конфигурации SDFAT-бета (поскольку BlockDriver печатается на основе макроса. Я не понимаю, почему это не параметр шаблона), и многое еще не реализовано (размер карты, производитель, ...), однако это тестируемо.

ZMEMW16
Сб 22 апреля 2017 г. 8:32 утра
Это детали разъема для STM32F407zgt 'Devils Cross' Black Board: J6 / J7 / DS
Определенно общий, так как i2c и флэш -колодки пусты
На фактическом шелковом экране есть хорошие белые точки и текст на нижней стороне для каждого, LED0 / LED1 / KEY1 / KEY2 и т. Д

Надежда на интерес/использование
Стивен

michael_l
Сб 22 апреля 2017 г. 9:28 утра
Компиляция в первый раз привела к следующей ошибке под Windows. Кажется, ST-Link_Cli.exe отсутствует в репо.
C:\Users\michael\Documents\Arduino\hardware\STM32GENERIC/tools/win/stlink_upload.bat COM17 {upload.altID} {upload.usbID} C:\Users\michael\AppData\Local\Temp\arduino_build_480449/Blink.ino.bin 'stlink\ST-LINK_CLI.exe' is not recognized as an internal or external command, operable program or batch file.

michael_l
Сб 22 апреля 2017 г. 10:19
Только что протестировал и светодиоды PD12-PD15 работают хорошо с F4 Discovery. USB Serial Works также

ZMEMW16
Сб 22 апреля 2017 г. 11:56 утра
<РЕДАКТИРОВАТЬ>
Ой, забыл сказать
Linux Debian Jessie 8.x lenovo y50 i7 16gb
</РЕДАКТИРОВАТЬ>

Последовательный порт идентифицируется как Maplemini F103CB
Репо, как 0830 сегодня утром.

Black F407VE USB Virtual
Серийные коммунальные автоматические
USB Virtual Com
Stlink Automatic Serialusb

Стивен

michael_l
Сб 22 апреля 2017 г. 13:09
То же самое здесь, USB Serial показывает как: Maplemini F103CB. Может быть потому, что я установил серийные драйверы для Bluepill.

Запрос: не могли бы вы добавить Freertos 8.2.1 и/или 9.0 то же самое для BluePill ? Спасибо.

Даниэфф
Солнце 23 апреля 2017 г. 5:56 утра
Спасибо за st-link_cli.exe, добавил отсутствующий .exe -файлы.

К сожалению, при компиляции используется тот же поставщик USB/идентификатор продукта, и я не могу создать идентификатор продукта USB для каждого варианта. Так что на данный момент последовательный порт будет Maplemini F103CB. Я мог бы просто удалить это.

Для этого STM32F407ZGT, пока вы можете просто попробовать, если код для 407VE работает над ним.

Добавлен Freertos (9.0), и есть пример для мигающих 2 светодиодов. Вы можете попробовать это?

michael_l
Солнце 23 апреля 2017 г. 7:28 утра
Даниэфф написал:Спасибо за st-link_cli.exe, добавил отсутствующий .exe -файлы.

К сожалению, при компиляции используется тот же поставщик USB/идентификатор продукта, и я не могу создать идентификатор продукта USB для каждого варианта. Так что на данный момент последовательный порт будет Maplemini F103CB. Я мог бы просто удалить это.

Для этого STM32F407ZGT, пока вы можете просто попробовать, если код для 407VE работает над ним.

Добавлен Freertos (9.0), и есть пример для мигающих 2 светодиодов. Вы можете попробовать это?

Chismicro
Солнце 23 апреля 2017 г. 8:27 утра
Привет, Даниэль,
Я подумываю немного внести свой вклад в ваш репозиторий.
ИМХО, наверное, лучше всего иметь очень простые примеры, которые люди могут легко проверить все периферийные устройства доски за несколько минут:
https: // github.com/chrismicro/stm32gene ... nk_allleds

Даниэфф
Солнце 23 апреля 2017 г. 9:57 утра
@ChriSmicro Спасибо, я добавил пример. Да, это хорошая идея, чтобы иметь примеры для мигания и для бортовых периферийных устройств для наиболее часто используемых досок в меню.

@michael_l Вы хотите использовать USB и UART? Вы можете использовать `serialusb.Печать ("...")`, `Serialuart1.Печать ("...")`, `Serialuart2.Печать ("...")` Использовать конкретный.

michael_l
Солнце 23 апреля 2017 г. 11:07
Даниэфф написал:@ChriSmicro Спасибо, я добавил пример. Да, это хорошая идея, чтобы иметь примеры для мигания и для бортовых периферийных устройств для наиболее часто используемых досок в меню.

@michael_l Вы хотите использовать USB и UART? Вы можете использовать `serialusb.Печать ("...")`, `Serialuart1.Печать ("...")`, `Serialuart2.Печать ("...")` Использовать конкретный.

ZMEMW16
Солнце 23 апреля 2017 г. 11:45
Используя мой F407VE, попробовал с Serial1.Печать и serialuart1.Печать и т. Д
Нет ключевого слова Hi-Lighting с Serialuart1, выполняет/запустить, нет вывода на серийном 1 (UART1) FTDI USB-блоке
Serial1-Hi-Lighted, но Serial1 не объявлено сообщение об ошибке
Вчера заметили, что первое сообщение об ошибке не обязательно является первым появлением ошибки в эскизе

Бла хороший код
1 -я строка с ошибкой
бла больше хорошего кода
2 -я строка с той же ошибкой
IDE останавливается с сообщением об ошибке

Также в первый раз в IDE и первая загрузка с использованием Stlink, LEDS Flash и т. Д
Вторая загрузка требует сброса для его запуска
это только я или это «нормальное» поведение?

Я прав, думая только о сгенерированной системе HAL & Используются процедуры инициализации RCC ?
Любая другая настройка для самого оборудования, затем происходит в файлах вариантов, я.эн. переключатели режима Afio, i2c1, SPI3 ... ... чередовать булавки

Стивен
<РЕДАКТИРОВАТЬ> Только что попробовал пример Flash, «Spiflash», у него нет участника «Begin»
Какую именно репо SDFAT мне нужно потянуть?
</РЕДАКТИРОВАТЬ>

Chismicro
Солнце 23 апреля 2017 г. 12:47
@ChriSmicro Спасибо, я добавил пример. Да, это хорошая идея, чтобы иметь примеры для мигания и для бортовых периферийных устройств для наиболее часто используемых досок в меню. Спасибо, ты довольно быстрый.
Я добавил еще один пример для пользовательской кнопки.
Для акселерометра на борту MEMS мне нужен SPI на Pins PA5, PA6, PA7. Можете ли вы опубликовать мне 3 строки кода, как получить SPI на этих булавках?
Если это невозможно, я должен использовать программный SPI.

michael_l
Солнце 23 апреля 2017 г. 16:02
Chismicro написал:@ChriSmicro Спасибо, я добавил пример. Да, это хорошая идея, чтобы иметь примеры для мигания и для бортовых периферийных устройств для наиболее часто используемых досок в меню. Спасибо, ты довольно быстрый.
Я добавил еще один пример для пользовательской кнопки.
Для акселерометра на борту MEMS мне нужен SPI на Pins PA5, PA6, PA7. Можете ли вы опубликовать мне 3 строки кода, как получить SPI на этих булавках?
Если это невозможно, я должен использовать программный SPI.

Chismicro
Пн 24 апреля 2017 г., 4:34
Спасибо ;-)
Я, хотя мы можем быть, вероятно, совместимы с библиотекой ядра STM с имени светодиодов и номинациями в «Варианте».H ", как они делают. Но, к сожалению, у них есть номера PIN -код вместо названий портов : | //On-board LED pin number #define LED_BUILTIN 18 #define LED_GREEN LED_BUILTIN #define LED_BLUE 58 #define LED_RED 19 #define LED_ORANGE 57

Даниэфф
Пн 24 апреля 2017 г. 13:47
@michael_l:
Изменение типа USB без сброса: да, это будет возможно, но мы еще не спрятались.

@zmemw16:
Serial1: я буду псевдоним Serialx to serialuartx, чтобы быть совместимым, но... Мне это не очень нравится. В оригинальной Arduino Mega, Serial1 означает «второй» сериал, который был бы здесь странным, потому что «первые» изменения (на основе меню). (Это проблема с ядром Libmaple. Serial1 Изменения на основе метода загрузки... но SerialUart1 является самообъяснением)
Нет вывода на Serial1 (UART1) FTDI: Можете ли вы проверить с помощью осциллографа или что -то в этом роде (подключить светодиод)? Это работает здесь.
Это не нормально, если вам нужно нажать сброс на работу.
Только инициализация часов необходима от Cubemx.
Используйте это для примера SDIO: https: // github.com/greiman/sdfat-бета, Подпапание SDFAT. Не забудьте изменить enable_sdio_class в библиотеке.

@ChriSmicro:
Не беспокойтесь о VID/PID в досках.текст. Это только для того, чтобы показать имя рядом с comxx. Что неправильно, потому что у нас много досок с одинаковыми. Я удалю их. (Кстати, вы можете увидеть сюда:http: // www.Linux-USB.org/usb.идентификаторы, Поиск Stmicroelectronics)
В настоящее время все дополнительные HAL можно собрать, если вы #Include "STM32_HAL.час". Например, вы можете использовать функции SRAM от STM32XXX_HAL_SRAM.в
Просто используйте имена для светодиодов: `#Define LED_BUILTIN PXY`, которые определенно будут работать.
Создайте запрос на притяжение, когда вы думаете, что STM32F429ZI находится в OK Catation.

Chismicro
Пн 24 апреля 2017 г. 14:33
Просто используйте имена для светодиодов: `#Define LED_BUILTIN PXY`, которые определенно будут работать.
Создайте запрос на притяжение, когда вы думаете, что STM32F429ZI находится в OK Catation.
Tnaks, я сделаю это.

Я попробовал другие мысли в репо:
- Составьте пример Blink для Discovery F746NG ==>
ARM-None-EABI-G ++: Ошибка: не признанный аргумент в опции '-mcpu = cortex-m7'
- Скомпилируйте пример Freertos для Discovery Discovery F407VG (с исправленным светодиодом) ==>
Пример сработал только после случайного нажатия кнопки сброса в несколько раз

ZMEMW16
Пн 24 апреля 2017 г. 14:48
Спасибо
Я тоже думал с сбросом.
Нет, все еще требуется.

Я вижу эту строку, на IDE вход STLINK Automatic уже установлен из предыдущего IDE Run. /home/stephen/sketchbook/hardware/STM32GENERIC/tools/linux/stlink_upload ttyUSB0 {upload.altID} {upload.usbID} /tmp/arduino_build_179110/test_gpio2.ino.bin

Даниэфф
Пн 24 апреля 2017 г., 17:55
Сброс может быть проблемой Linux. Я что -то совершил Фредерик сделал здесь: Используйте 64-битную версию ST-Flash на 64-битной машине.

Не могли бы вы попробовать еще раз? Если все еще не работает, возможно, компилируйте ST-Flash из источника. Будет инвестировать дальше, он работает на Windows и требует сброса на Linux.

ZMEMW16
Пн 24 апреля 2017 г., 21:54
Может быть, это проблема Linux, у меня есть воспоминания об этом, но не с этой более высокой последовательности, почти каждый раз каждый раз.

Роджер увеличил или уменьшил этот тайм-аут для повторного выступления (??) интерфейса USB? Это единственное, что я могу думать, что может повлиять на оба ? ? ?

RE ST-FLASH, перед повторным собранием, может быть, я должен скопировать каталог инструментов из основного Arduino_stm32 Repo?

В настоящее время PC0/PD3 прекрасно мерцают & Serialusb выводит MS на моем ZGT.

в том числе SPI & Заголовки eng24 и вызов объекта #include #include #define NRF_CE PD8 #define NRF_CS PD9 #define NRF_IRQ PD10 Enrf24 radio(NRF_CE, NRF_CS, NRF_IRQ); // CE, CSN, IRQ pins

Chismicro
Вт 25 апреля 2017 г. 5:18 утра
Потому что я новичок в STM32-Aduino, я не знал, что есть Serialusb, который используется во втором USB-порту.
Поэтому я добавил пример для serialusb.
Я поместил его в папку STM32F407 Discovery примеры, но я думаю, что она действительна для большинства плат STM.
Вопрос в том, как мы могли бы объединить это?

Даниэфф
Вт 25 апреля 2017 г. 8:43
Сбросить: может быть та же проблема, что и https: // github.com/texane/stlink/ways/532 . Windows использует запатентованную ST-Link_Cli.exe, поэтому, кажется, работает для меня.
Примеры: у меня не так много. Конечно, есть встроенные примеры, поэтому примеры платы должны быть для дополнительных вещей, дополнительная светодиодная кнопка, дополнительная кнопка, которая может использоваться в качестве аналогового, как использовать в бортовых периферийных устройствах...
Да, SPI должен работать, но вы должны помнить, что есть несколько SPI с несколькими альтернативными булавками.
Провод также, попробуйте запустить сканер I2C на 407 Discovery.
__Stm32f4__ не определен. У меня будет другой макрос, чтобы различные ядра можно было правильно идентифицировать.

Chismicro
Вт 25 апреля 2017 г. 13:14
Попробуйте запустить сканер I2C на 407 Discovery. Вы имеете в виду следующий, который я изменил для "serialusb":
// -------------------------------------- // i2c_scanner // // Version 1 // This program (or code that looks like it) // can be found in many places. // // // This sketch tests the standard 7-bit addresses // Devices with higher bit address might not be seen properly. // // http://playground.arduino.cc/Main/I2cScanner #include #define SERIALINTERFACE SerialUSB void setup() { Wire.begin(); SERIALINTERFACE.begin(9600); //while (!SERIALINTERFACE); // Leonardo: wait for serial monitor while(SERIALINTERFACE.available()==0) { SERIALINTERFACE.println("\npess any key to start"); delay(1000); } SERIALINTERFACE.println("\nI2C Scanner"); } void loop() { byte error, address; int nDevices; SERIALINTERFACE.println("Scanning..."); nDevices = 0; for (address = 1; address < 127; address++ ) { // The i2c_scanner uses the return value of // the Write.endTransmisstion to see if // a device did acknowledge to the address. Wire.beginTransmission(address); Wire.write(0); error = Wire.endTransmission(); if (error == 0) { SERIALINTERFACE.print("I2C device found at address 0x"); if (address < 16) SERIALINTERFACE.print("0"); SERIALINTERFACE.print(address, HEX); SERIALINTERFACE.println(" !"); nDevices++; } else if (error == 4) { SERIALINTERFACE.print("Unknown error at address 0x"); if (address < 16) SERIALINTERFACE.print("0"); SERIALINTERFACE.println(address, HEX); } } if (nDevices == 0) SERIALINTERFACE.println("No I2C devices found\n"); else SERIALINTERFACE.println("done\n"); delay(5000); // wait 5 seconds for next scan }

Даниэфф
Вт 25 апреля 2017 г. 13:20
Положить.Записать (0) `до` error =.endTransmission (); `, потому что Хэл ничего не отправит
(Также используйте тег кода, а не цитата, все сообщение на форуме будет короче)

Chismicro
Вт 25 апреля 2017 г. 13:47
Даниэль,
код, который я использовал, находится прямо из Arduino Playground Документация.

Сначала мне пришлось представить «ждать нажатого клавиши», потому что каким -то образом Serialusb ничего не показал в оригинальной версии.
Еще один момент, если мы закроем окно серийного монитора в следующий раз, он будет зависеть.
Положить.Записать (0) `до` error =.endTransmission (); `, потому что Хэл ничего не отправит Тот же результат: нет устройств i2c.

Не могли бы вы попробовать это сканер I2C и подтвердить, что он правильно работает на одной из ваших досок?
Можете ли вы опубликовать работающий сканер I2C? Наверное, это лучшее, чтобы поместить его в папку разработчиков, чтобы любой мог проверить интерфейсы i2c.

michael_l
Вт 25 апреля 2017 г. 13:55
Какой ожидаемый результат? И какие устройства есть и на каких автобусах i2c ?

Chismicro
Вт 25 апреля 2017 г. 14:16
Какой ожидаемый результат? И какие устройства есть и на каких автобусах i2c ? Это был очень полезный вопрос. Спасибо.
На доске есть аудиокодек, и я прочитал Схема (с.39)

Необходимо сначала включить чип:
#define AUDIOCODEC_CS PD4 pinMode(AUDIOCODEC_CS,OUTPUT); digitalWrite(AUDIOCODEC_CS,HIGH);

michael_l
Вт 25 апреля 2017 г. 14:19
Найденная спецификация и некоторый код для MEMS на борту акселерометра. Я постараюсь получить некоторые данные.

Chismicro
Вт 25 апреля 2017 г. 14:41
Это было бы здорово.
Не могли бы вы опубликовать результат, если он работает? Тогда мы можем поместить его в папку примеров. Это поможет другим людям выделить :-)

michael_l
Вт 25 апреля 2017 г. 14:52
Да, конечно. Другой i2c, сообщаемый вашей программой, должен быть MEMS. Я только что читал, что у него также есть интерфейс i2c

Chismicro
Вт 25 апреля 2017 г. 14:59
Ах, интересно. Я не читал лист данных этого чипа. Но кажется, что вы можете выбрать между i2c и spi.

Кстати: я только что толкнул I2C Reader в репо.

Chismicro
Вт 25 апреля 2017 г. 20:29
Как я могу использовать таймер? В ядре Libmaple была возможность использовать "Hardwaretimer.час". Как можно создать квадратную волну с таймером на булавке?

victor_pv
Ср 26 апреля 2017 г., 4:04
Просто запустите тест Whetstone, единый преобразование, аппаратный FPU, -OS с этим ядро, и получил следующее:
Starting test Beginning Whetstone benchmark at default speed ... Loops:1000, Iterations:10, Duration:8581.59 millisec C Converted Single Precision Whetstones:116.53 mflops

michael_l
Ср 26 апреля 2017 г. 6:05
Вот демонстрационный эскиз для LIS3DSH. Кажется, работает нормально. Не стесняйтесь добавлять его в репо.
Lis3dsh_demo.Ино
LIS3DSH Демо
(1.9 киб) скачано 28 раз

Chismicro
Ср 26 апреля 2017 г. 6:10
Вот демонстрационный эскиз для LIS3DSH. Кажется, работает нормально. Не стесняйтесь добавлять его в репо. Я одну минуту, чтобы медленно ;)

Я добавил простой пример акселерометра Использование интерфейса SPI. : D

У вас есть какая -то забавная идея приложения?

michael_l
Ср 26 апреля 2017 г. 6:15
Chismicro написал:Вот демонстрационный эскиз для LIS3DSH. Кажется, работает нормально. Не стесняйтесь добавлять его в репо. Я одну минуту, чтобы медленно ;)

Я добавил простой пример акселерометра Использование интерфейса SPI. : D

У вас есть какая -то забавная идея приложения?

Даниэфф
Ср 26 апреля 2017 г., 6:54
victor_pv написал:Просто запустите тест Whetstone, единый преобразование, аппаратный FPU, -OS с этим ядро, и получил следующее:
Starting test Beginning Whetstone benchmark at default speed ... Loops:1000, Iterations:10, Duration:8581.59 millisec C Converted Single Precision Whetstones:116.53 mflops

Беннебой
Ср 26 апреля 2017 г. 7:04
Chismicro написал:Вот демонстрационный эскиз для LIS3DSH. Кажется, работает нормально. Не стесняйтесь добавлять его в репо. Я одну минуту, чтобы медленно ;)

Я добавил простой пример акселерометра Использование интерфейса SPI. : D

У вас есть какая -то забавная идея приложения?

Chismicro
Ср 26 апреля 2017 г. 7:05
Что ж, я думал использовать 4 светодиода, используя ШИМ, так что изменение яркости на количество наклона влево/правое/вверх/вниз. Это хорошая идея. Таким образом, это был бы пример приложения, который не нуждается в последовательном интерфейсе, который может быть хорош для быстрого теста.
Мы сделали почти тот же код. Но есть несколько небольших различий:
Вы используете spi_mode0. Я нашел где -нибудь код с SPI_MODE3 и не исследовал, правильно ли он. Это работает, но это может быть случайно. Какой из них является правильной настройкой?
Как подключить последовательный порт? На моем доске только сериал, кажется, работает. Или вы используете внешний USB -адаптер?
Позже я включил бы ваш эскиз также в папку «Примеры», потому что он может использовать серийный платтер.

КСТАТИ.: Я думаю, что ваш стиль кодирования очень хороший, короткий и читаемый :-)

Chismicro
Ср 26 апреля 2017 г. 7:20 утра
Victor_PV написал Это выглядит очень многообещающе, если это действительно так легко добавить новую доску, как задумал Даниэль.
Несколько месяцев назад не было действительно хорошего ядра F4, и теперь трудно выбрать, что использовать :ржу не могу:
Да, это работает довольно легко добавить новую доску. Я добавил Discovery STM32F429, и я, вероятно, добавлю больше.

Проблема с досками Discovery заключается в том, что у них много периферийных устройств, где в настоящее время нет примеров.
Поэтому я стараюсь сделать несколько примеров, чтобы люди легко использовали эти доски.

Вчера я попытался внедрить звуковой пример для кодека CS43L22 на STM32F4 Discovery. Но мне не удалось.
I2S не реализован в ядре, а HAL-призывы не компилируются. Кажется, как будто не хватает специальных файлов STM32F4XX.

Даниэфф
Ср 26 апреля 2017 г., 7:29 утра
Я добавил вчера i2s, однако у меня нет аппаратного обеспечения для этого, так что нет способа попробовать. Пока что -то вроде: #include "I2S.h" I2SClass i2s(SPI3, PC12 /*sd*/ , PA4 /*ws*/, PC10 /*ck*/); // check board schematic ... i2s.begin(I2S_PHILIPS_MODE, 44000, 16); i2s.write(data);

Пито
Ср 26 апреля 2017 г. 8:43
Я попробовал сегодня ваше ядро ​​(в Slaeber). Работает нормально (серийный, USBERIAL, FPU_HARD, ADC, мигающие светодиоды на Zet) на Black 407ZE (я создал новый вариант ZE).
Редактировать: решается проблема Sloeber - проблема с индексацией источников..
Вариант Black Ze прикреплен.
И один FFT (FPU) во время отбора проб с около 500 Гц при PA3, касаясь булавки пальцем (мой отпечаток пальца) :ржу не могу:
DE407 Core FFT 1024 Hanning и 500 Гц
DE407 CORE FFT 1024 HANNING и 500 Гц выборки.JPG (32.35 киб) просмотрено 337 раз

Chismicro
Ср 26 апреля 2017 г. 10:46 утра
Я добавил вчера i2s, однако у меня нет аппаратного обеспечения для этого, так что нет способа попробовать. Пока что -то вроде:
Опять же, абсолютно непроверенный
Очень хорошо, я посмотрю, работает ли он ;-)
И вам нужно сначала настроить CS43L22, используя I2C (я думаю, что в нем есть режим звукового сигнала, так что это должно быть первым, чтобы попробовать) Основная проблема - CS43L22, нуждается в MCLK около 12 МГц от STM32F407. Предоставляет ли драйвер I2S, что?
И FFT (FPU) во время отбора проб с 500 Гц при PA3, касаясь булавки пальцем (мой отпечаток пальца) :ржу не могу: Очень хорошо. Почему вы выбрали только 500 Гц ?

Пито
Ср 26 апреля 2017 г. 10:50 утра
Я выбрал 500 Гц, чтобы увидеть хороший гул 50 Гц и его гармоники :)
Для серьезной работы нам нужно иметь выборку АЦП на основе триггера Timerx и выдвинуть данные АЦП через DMA к FFT.
В основном все уже было сделано в Чибиосе, как я где -то писал.
Так что это может быть хорошим источником вдохновения при использовании STM HAL..

michael_l
Ср 26 апреля 2017 г. 10:52 утра
Chismicro написал:Что ж, я думал использовать 4 светодиода, используя ШИМ, так что изменение яркости на количество наклона влево/правое/вверх/вниз. Это хорошая идея. Таким образом, это был бы пример приложения, который не нуждается в последовательном интерфейсе, который может быть хорош для быстрого теста.
Мы сделали почти тот же код. Но есть несколько небольших различий:
Вы используете spi_mode0. Я нашел где -нибудь код с SPI_MODE3 и не исследовал, правильно ли он. Это работает, но это может быть случайно. Какой из них является правильной настройкой?
Как подключить последовательный порт? На моем доске только сериал, кажется, работает. Или вы используете внешний USB -адаптер?
Позже я включил бы ваш эскиз также в папку «Примеры», потому что он может использовать серийный платтер.

КСТАТИ.: Я думаю, что ваш стиль кодирования очень хороший, короткий и читаемый :-)

Пито
Ср 26 апреля 2017 г. 11:00 утра
Было бы круто создать программу, которая использует микрофон для сохранения звука и вывода ее через встроенный DAC DAC :-) Это потребует SDFAT через SPI или SDIO..
Я думаю, ты тоже мог бы сделать mp3, по крайней мере, MP3 -плеер с DiscOF407 работал нормально.. http: // www.Чибиос.com/forum/viewtopic.PHP?f = 8&t = 351

ZMEMW16
Ср 26 апреля 2017 г. 11:25
и я думал, что не спят, поможет мне оставаться в курсе :ржу не могу:

Chismicro
Ср 26 апреля 2017 г. 11:28
Я использую USB-последовательный порт в качестве «последовательного», отображается с USB-последовательным и с помощью адаптера Micro-USB (нижний разъем). Ах ... Это будет означать этот сериал.begin () такой же, как Serialusb.начинать() ? Я думал, что «сериал» идет в PA8,9 и может быть припаян на борту ST-Link. В руководстве было что -то написано .. Но на моем компьютере никогда не появлялся виртуальный COM -порт, когда я подключил плату. Serialusb иногда висит на моем компьютере ...
Спасибо, этот эскиз был сделан довольно быстро и может быть немного улучшен, но, возможно, стоит создать библиотеку Arduino для Lib3dsh? Это было бы очень хорошим шагом после того, как мы сможем получить доступ ко всем периферийным устройствам с помощью простых примеров эскизов.
Простые основные примеры должны храниться, потому что библиотеки, как правило, растут через определенное время, потому что люди хотят все больше и больше функций. Тогда хорошо иметь самые основные примеры, доступные, чтобы увидеть, как работают основные вещи.
Однако мне было бы больше интересно получить работу ST MEMS Microphone (MP45DT02). Я не уверен, но я думаю, что это также должно использовать i2s. Должны ли мы попытаться возиться с этим следующим ? Было бы круто создать программу, которая использует микрофон для сохранения звука и вывода ее через встроенный DAC DAC :-) Я немного экспериментировал с микрофоном. Вот немного стучащий код для Vu-Meter, который показывает уровень шума со светодиодами. К сожалению, он работал только с ядром Libmaple от Roger. Я думаю, что общее ядро ​​имеет другое время. Микрофон также мог бы использовать аналоговый. В руководстве по правлению это описано. Но чтобы припаять мост на плате необходим, и микрофон должен быть обеспечен часами. Вы знаете, как генерировать около 3 МГц? Для использования микрофона цифровое требуется некоторые цифровые фильтры, что означает некоторые накладные расходы на обработку. Есть примечание от STM об этом. Вероятно, даже какой -то код из STM можно найти где -нибудь.
// LED VU-Meter // turns on the LEDs depending on the sound level detected from the microphon // STM32F4 Discovery #define USERBUTTON PA0 #define GREENLED PD12 #define ORANGELED PD13 #define GREDLED PD14 #define BLUELED PD15 #define REDLEDOTGOVERCURRENT PD5 #define MICROPHON_CLK_INPUT PB10 #define MICROPHON_PDMDATA_OUTPUT PC3 #define NUMLEDS 5 const uint8_t Led[] = {GREENLED, ORANGELED, GREDLED, BLUELED, REDLEDOTGOVERCURRENT}; void setup() { for (int n = 0; n < NUMLEDS; n++) pinMode(Led[n], OUTPUT); pinMode(MICROPHON_CLK_INPUT, OUTPUT); } void setLed(uint8_t n, uint8_t state) { if(n==4)digitalWrite(Led[n], !state); else digitalWrite(Led[n], state); } #define SAMPLEBUFFERLENGTH 400 int16_t sampleBuffer[SAMPLEBUFFERLENGTH]; int32_t OldValue = 0; void sampleMicrophon() { int32_t n, k; int32_t sample = 0; for (n = 0; n < SAMPLEBUFFERLENGTH; n++) { int32_t value = 0; for (k = 0; k < 500; k++) { digitalWrite(MICROPHON_CLK_INPUT, HIGH); if (digitalRead(MICROPHON_PDMDATA_OUTPUT) == 0) value--; else value++; digitalWrite(MICROPHON_CLK_INPUT, LOW); } sample = value - OldValue; OldValue = value; sampleBuffer[n] = sample; } sampleBuffer[0] = 0; sampleBuffer[1] = 0; } double calcPower() { double power=0; int32_t n; for (n = 0; n < SAMPLEBUFFERLENGTH; n++) { power+=(double)sampleBuffer[n]*sampleBuffer[n]; } return power=power/SAMPLEBUFFERLENGTH; } void loop() { sampleMicrophon(); double power=calcPower(); if(power>80) setLed(0,1); else setLed(0,0); if(power>100) setLed(1,1); else setLed(1,0); if(power>200) setLed(2,1); else setLed(2,0); if(power>400) setLed(3,1); else setLed(3,0); if(power>800) setLed(4,1); else setLed(4,0); }

victor_pv
Ср 26 апреля 2017 г. 12:36
Даниэль, я заметил, что в файле досок не хватает определения для F_CPU (плата.строить.F_CPU в соответствии с https: // code.Google.com/archive/p/ardui ... формы.вики)
Это намеренное? Если нет, я считаю, что было бы лучше добавить его для совместимости, так как предоставляет общий способ узнать целевую скорость между досками и платформами.

michael_l
Ср 26 апреля 2017 г. 12:47
Пито написал: Было бы круто создать программу, которая использует микрофон для сохранения звука и вывода ее через встроенный DAC DAC :-) Это потребует SDFAT через SPI или SDIO..
Я думаю, ты тоже мог бы сделать mp3, по крайней мере, MP3 -плеер с DiscOF407 работал нормально.. http: // www.Чибиос.com/forum/viewtopic.PHP?f = 8&t = 351

Chismicro
Ср 26 апреля 2017 г. 13:02
Что ж, моя основная идея состояла в том, чтобы попробовать микрофон с i2s, преобразовать в PCM и перенаправить его в DAC. Есть Библиотека Arduino Sound что, к сожалению, сделано только для arduino Zero. Но показывает простую простой в использовании архитектуру.
Лучше всего было бы иметь то же самое для STM32.

Пито
Ср 26 апреля 2017 г. 13:09
Настройки по умолчанию SDFAT, SPI1, Black 407ZE: Type any character to start Type is FAT32 Card size: 8.03 GB (GB = 1E9 bytes) Manufacturer ID: 0X1B OEM ID: SM Product: 00000 Version: 1.0 Serial number: 0X5D7445A7 Manufacturing date: 1/2015 File size 5 MB Buffer size 8192 bytes Starting write test, please wait. write speed and latency speed,max,min,avg KB/Sec,usec,usec,usec 1541.37,65992,4222,5308 1630.91,14885,4218,5016 1621.39,19496,4218,5045 1630.38,14924,4222,5018 1625.08,14948,4223,5034 1623.50,14948,4222,5040 Starting read test, please wait. read speed and latency speed,max,min,avg KB/Sec,usec,usec,usec 1864.60,6197,4355,4392 1865.99,5247,4353,4389 1866.69,5246,3359,4386 1865.99,5247,4354,4389 1866.69,5249,4353,4388 1865.99,5248,4352,4389 Done

Chismicro
Ср 26 апреля 2017 г. 13:42
Даниэфф написал: Я добавил вчера i2s, однако у меня нет аппаратного обеспечения для этого, так что нет способа попробовать.

Ваша реализация i2s работает. Поздравляю : D
Я только что попробовал это на плате STM32F407 с Adafruit i2s усилитель Вместо кодека на борту.

Он создает громкий звук пилообразной (пилотул для простоты кода):
#include "I2S.h" I2SClass I2S(SPI3, PC12 /*sd*/ , PA4 /*ws*/, PC10 /*ck*/); // check board schematic void setup() { I2S.begin(I2S_PHILIPS_MODE, 44000, 16); } void loop() { static uint16_t n; I2S.write(n+=300); }

Пито
Ср 26 апреля 2017 г. 13:47
На PC7 есть 2 канала таймера - это можно сделать с таймерами.. CaptureComPareregs..
Хм, но 84/42 div на 12 - это не целое число..
Измените процессор FREQ на 192.. 96/12 = 8

Стивестронг
Ср 26 апреля 2017 г. 14:23
Я думаю, что нам отчаянно нужна отдельная «STM32GENEREN» в записи под »Загрузчики и ядра",
так что каждый вопрос можно обсудить в отдельном потоке.

ZMEMW16
Ср 26 апреля 2017 г. 14:55
Как я оба платы, я искал в файлах вариантов 407Z и заметил, что PHN -контакты, похоже, отсутствуют в файлах 407Z.
Как прикрепленное оборудование такая же схема, я подумал, почему ? :)
Стивен

Chismicro
Ср 26 апреля 2017 г. 15:32
Может ли кто -нибудь помочь и дать намек на то, как создать квадратную волну 12 МГц на PIN PC7 ?
Почтовый пито На PC7 есть 2 канала таймера - это можно сделать с таймерами.. CaptureComPareregs..
Хм, но 84/42 div на 12 - это не целое число..
Измените процессор FREQ на 192.. 96/12 = 8
Спасибо за ответ. Мой вопрос кажется для каждого настолько простым, и никто не хочет дать ответ. :зло:
Мне нужен пример кода ... или подсказка, как

victor_pv
Ср 26 апреля 2017 г. 15:51
Стивестронг написал:Я думаю, что нам отчаянно нужна отдельная «STM32GENEREN» в записи под »Загрузчики и ядра",
так что каждый вопрос можно обсудить в отдельном потоке.

victor_pv
Ср 26 апреля 2017 г. 15:55
Chismicro написал:Может ли кто -нибудь помочь и дать намек на то, как создать квадратную волну 12 МГц на PIN PC7 ?
Почтовый пито На PC7 есть 2 канала таймера - это можно сделать с таймерами.. CaptureComPareregs..
Хм, но 84/42 div на 12 - это не целое число..
Измените процессор FREQ на 192.. 96/12 = 8
Спасибо за ответ. Мой вопрос кажется для каждого настолько простым, и никто не хочет дать ответ. :зло:
Мне нужен пример кода ... или подсказка, как

Пито
Ср 26 апреля 2017 г. 16:03
Может быть, ошибка? Во время игры с SDFAT я время от времени получаю эти огромные цифры.
Naumber всегда один и тот же 42949665553, кажется,.
Источник говорит, что он измеряет максимальную отдачу через micros (), сравнивает и делает простое дополнение. Все подлины.
Затем он распечатывает материал: cout << s/t <<',' << maxLatency << ',' << minLatency;

victor_pv
Ср 26 апреля 2017 г. 16:10
Пито написал:Может быть, ошибка? Во время игры с SDFAT я получаю эти огромные цифры.
Источник говорит, что он измеряет максимальную отдачу через micros (), сравнивает и делает простое дополнение. Все подлины.
Затем он распечатывает материал: cout << s/t <<',' << maxLatency << ',' << minLatency;

Пито
Ср 26 апреля 2017 г. 16:24
Число всегда одно и то же 42949665553 = 0xfffffd19.
Это приходит примерно в 5 раза на сотню результатов, кажется случайным образом.. Иногда нравится 1964.51,4294966553,256,257 1844.90,4294966553,256,258 1960.66,1334,256,258 1953.00,1331,256,258

victor_pv
Ср 26 апреля 2017 г. 16:31
Проверьте мой пост выше о реализации Micros ().

Вот как STM реализовал его в своем ядре (micros () просто возврат getCurrentMicro;)

uint32_t GetCurrentMicro(void) { return (HAL_GetTick()*1000) + (SysTick->VAL / (SystemCoreClock / 1000000)); }

Даниэфф
Ср 26 апреля 2017 г. 16:33
Да, пожалуйста, создайте новую ветку в ViewForum.PHP?F = 46 по теме, поскольку дискуссии сейчас смешиваются.

AG123
Ср 26 апреля 2017 г., 19:40
Привет, Даниэль, возможно, вы можете создать ветку с той же темой там и разместить ссылку/ссылку из этого потока

Кроме того, я бы предположил, что потоки, ссылающиеся на этот основной префикс с помощью STM32GENERIERIER, но это потребуется небольшое сотрудничество от всех, чтобы было легче идентифицировать субъекты.
;)

michael_l
Ср 26 апреля 2017 г., 19:49
Добавлена ​​демонстрация LIS3DSH со светодиодами. Светодиоды (слева направо) Изменения яркости на основе акселерометра. https: // github.com/maichaell/stm32gener ... Overy407vg

ZMEMW16
Ср 26 апреля 2017 г. 20:46
Что случилось с serialuart1 определить ? По какой -то причине IDE возвращается на доску arduino Zero
Я вернулся к 260417-1230'ish Repo, я снова изучу последний позже.

Кто -то сказал, что у них был i2Cscanner ? Unknown error at address

Chismicro
Ср 26 апреля 2017 г. 9:03 вечера
Кто -то сказал, что у них был i2Cscanner ? На моей установке Win10, STM32F4 Discovery от моего репо это работает. Я только что попробовал это снова.

Какую доску вы используете?

Chismicro
Ср 26 апреля 2017 г. 9:08 вечера
Добавлена ​​демонстрация LIS3DSH со светодиодами. Светодиоды (слева направо) Изменения яркости на основе акселерометра. https: // github.com/maichaell/stm32gener ... Overy407vg Я только что попробовал, но серийные отображаются только постоянные значения, а светодиоды не меняются : |

Вы посмотрели на пример Blink_allleds? Все светодиоды определены в «Варианте.час"

Вы можете получить доступ к ним по цветам: LED_GREEN, LED_ORANGE, LED_RED, LED_BLUE

Chismicro
Ср 26 апреля 2017 г., 21:49
Я думаю, что я нашел проблему, почему I2S MCCLK не работает на совете директоров STM32F4. Это проблема в драйвере I2S:
handle.Init.MCLKOutput = I2S_MCLKOUTPUT_DISABLE; and missing pin here: I2SClass::I2SClass(SPI_TypeDef *instance, uint8_t sd, uint8_t ws, uint8_t ck) { handle.Instance = instance; this->sdPort = variant_pin_list[sd].port; this->sdPin = variant_pin_list[sd].pin_mask; this->wsPort = variant_pin_list[ws].port; this->wsPin = variant_pin_list[ws].pin_mask; this->ckPort = variant_pin_list[ck].port; this->ckPin = variant_pin_list[ck].pin_mask; // !!!!! no MCCLK pin !!!!! }

ZMEMW16
Чт 27 апреля 2017 г., 2:43
У меня черный F407ZG с SIP TMP102 и 4K7
Я добавлю дисплей SSD1306 в настройку времени сна время сна
Стивен

Chismicro
Чт 27 апреля 2017 г., 4:17 утра
Черный F407ZG Пример в папке Discovery F407VG сделан для платы Discovery STM32F4.
Это в основном означает, что устанавливает линии выбора чипа для устройств I2C на этой плате.

Вы можете выбрать доску обнаружения в своем IDE и посмотреть, работает ли сканер. (Убедитесь, что линия Select не сталкивается с некоторым вашим аппаратным обеспечением).

Chismicro
Чт 27 апреля 2017 г. 6:34
STM32F4 Discovery CS43L22 Audio Codec разрабатывается и работает.

Вы найдете его в папке примеров.

Даниэль: Особая спасибо вам за отличную поддержку с водителем I2S : D

Майкл: Как дела у вашего драйвера микрофона?

michael_l
Чт 27 апреля 2017 г. 7:06 утра
Chismicro написал:STM32F4 Discovery CS43L22 Audio Codec разрабатывается и работает.

Вы найдете его в папке примеров.

Даниэль: Особая спасибо вам за отличную поддержку с водителем I2S : D

Майкл: Как дела у вашего драйвера микрофона?

Chismicro
Чт 27 апреля 2017 г., 7:21
Сегодня я снова прошил это - мой код не сработал, но ваш. Мне придется сначала выяснить это.. Странный ... Имеет ли это какое-то отношение к SPI-Mode SEUTP? Или, наверное, сериалсб?
В своем коде я поместил ожидание Чар из сериала, чтобы немного улучшить поведение.

КСТАТИ.:
Должны ли мы перейти к STM32F4 Discovery Thread Потому что STM32Generic предназначен для всех досок ?

Беннебой
Чт 27 апреля 2017 г. 14:23
Я полагаю, что аналог GPIO еще не реализован?

На самом деле это было определение input_analog, которое отсутствовало.... Я думал, что проверю свой основной проект против Generic, чтобы увидеть, что было сломано, и следующее не удалось: for (int x = 7; x < 11; x++) { pinMode(x, INPUT_ANALOG); }

Беннебой
Чт 27 апреля 2017 г. 15:23
Загружено через ST-Link, теперь я вижу USB-последовательный порт, подключите экран SPI, чтобы увидеть, действительно ли я ожидаю, что я ожидаю : D

Chismicro
Чт 27 апреля 2017 г. 16:33
Вы можете попробовать примеры из папки Discovery F407VG.
Многие из них, такие как Analogreadserial.
Это помогает избежать проблем, подобных тем, что до того, как вы имели с PinMode (xx, analog_input), потому что он описан в примере.

Беннебой
Чт 27 апреля 2017 г., 17:02
Chismicro написал:Вы можете попробовать примеры из папки Discovery F407VG.
Многие из них, такие как Analogreadserial.
Это помогает избежать проблем, подобных тем, что до того, как вы имели с PinMode (xx, analog_input), потому что он описан в примере.

michael_l
Чт 27 апреля 2017 г., 17:16
Даниэль: Так теперь можно использовать библиотеки HAL в Arduino .INO -файл? Должен ли я добавить некоторые из них, включающий заголовок для этого? Спасибо.

Даниэфф
Чт 27 апреля 2017 г., 17:37
Так что UART, кажется, не работает для некоторых? Это должно быть либо:
А) Выберите Serialuart в меню, затем напишите сериал.начинать(...); Сериал.Печать (...)
или
Б) Используйте SerialUartx.начинать(...); Serialuartx.Печать (...)

Не могли бы вы попробовать All Serialuart1, serialuart2...?

@michael_l: В настоящее время, если вы #include "stm32_hal.H "в Arduino, тогда все дополнительные вещи должны быть скомпилированы. (кроме SPI/I2C, для них, как обычно).

michael_l
Чт 27 апреля 2017 г., 19:19
Даниэфф написал:Так что UART, кажется, не работает для некоторых? Это должно быть либо:
А) Выберите Serialuart в меню, затем напишите сериал.начинать(...); Сериал.Печать (...)
или
Б) Используйте SerialUartx.начинать(...); Serialuartx.Печать (...)

Не могли бы вы попробовать All Serialuart1, serialuart2...?

@michael_l: В настоящее время, если вы #include "stm32_hal.H "в Arduino, тогда все дополнительные вещи должны быть скомпилированы. (кроме SPI/I2C, для них, как обычно).

michael_l
Чт 27 апреля 2017 г. 20:03
Даниэфф написал:Так что UART, кажется, не работает для некоторых? Это должно быть либо:
А) Выберите Serialuart в меню, затем напишите сериал.начинать(...); Сериал.Печать (...)
или
Б) Используйте SerialUartx.начинать(...); Serialuartx.Печать (...)

Не могли бы вы попробовать All Serialuart1, serialuart2...?

@michael_l: В настоящее время, если вы #include "stm32_hal.H "в Arduino, тогда все дополнительные вещи должны быть скомпилированы. (кроме SPI/I2C, для них, как обычно).

Пито
Чт 27 апреля 2017 г. 9:15 вечера
Черный 407ZE
Попробовал tx
Serialuart1 OK, 115K2
Serialuart1 + serialuart2 ok, оба 115K2
Serialuart1 + serialuart3 OK, оба 115K2

Беннебой
Чт 27 апреля 2017 г., 22:21
Я сделаю Serialuartx завтра идти.

Даниэфф
Пт 28 апреля 2017 г., 4:57 утра
Похоже, на обнаружении, PA9 (передача UART1) подключен к VBUS? (UM1472 Page 35)

Вот базовый код низкого уровня для отправки на UART2, PA2/PA3, только что сгенерированный с Cubemx, если для некоторых SerialUARX не работает, не могли бы вы попробовать: void setup() { __HAL_RCC_USART2_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF7_USART2; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); UART_HandleTypeDef handle; handle.Instance = USART2; handle.Init.BaudRate = 115200; handle.Init.WordLength = UART_WORDLENGTH_8B; handle.Init.StopBits = UART_STOPBITS_1; handle.Init.Parity = UART_PARITY_NONE; handle.Init.Mode = UART_MODE_TX_RX; handle.Init.HwFlowCtl = UART_HWCONTROL_NONE; handle.Init.OverSampling = UART_OVERSAMPLING_16; HAL_UART_Init(&handle); while(1) { char data[] = "Hello!\n"; HAL_UART_Transmit(&handle, (uint8_t*)data, sizeof(data) - 1, 1000 /*timeout*/); delay(500); } }

ZMEMW16
Пт 28 апреля 2017 г. 10:18
Можем ли мы не просто иметь один объект UART, который отдельная доска Типы «настройка» инициализируются для столько же, сколько и их, и настраивает их по мере необходимости ?
Стивен

michael_l
Пт 28 апреля 2017 г. 10:32
Даниэфф написал:Похоже, на обнаружении, PA9 (передача UART1) подключен к VBUS? (UM1472 Page 35)

Пито
Пт 28 апреля 2017 г. 11:05
PA9 и PA10 не будут работать на F4DISCO, так как булавки где -то выступают на доске.. Попробуйте UART2 PA2,3 вместо этого. Это работало здесь много лет назад :)
F4disco uart1 pa9 pa10.jpg
F4disco uart1 pa9 pa10.JPG (60.05 киб) просмотрено 398 раз

Даниэфф
Пт 28 апреля 2017 г. 11:19
Тогда я смену меню на Discovery407 на UART2 и каким -то образом #undefine UART1

@zmemw16 У меня нет всех досок, и время пройти через каждую схему. В настоящее время все UART должны быть использованы по умолчанию на первичный PIN (один и тот же Cubemx дает сначала, если вы включите). Вы можете установить альтернативные булавки с SerialUartx.STM32Setrx (...). Варианты смогут изменить значения по умолчанию, когда он будет реализован (некоторые #Define в варианте.H, не знаю, как их назвать...).

Если код низкого уровня также дает мусор, то это несоответствие бод, возможно, ошибка настройки часов, плата не имеет кристалла 8 МГц, использует что -то еще или какую -то другую проблему.

Пито
Пт 28 апреля 2017 г. 11:26 утра
В репо Даниэле есть файл «STM32_Chip» со всеми перечисленными последовательными выводами (первый список для RX, второй для TX, первый элемент в UARTX - это стандартный вывод, следующий - альтернативный): // --------------------USART-------------------- const stm32_af_pin_list_type chip_af_usart_rx [] = { //USART1 { USART1, GPIOA, GPIO_PIN_10 , GPIO_AF7_USART1}, { USART1, GPIOB, GPIO_PIN_7 , GPIO_AF7_USART1}, //USART2 { USART2, GPIOA, GPIO_PIN_3 , GPIO_AF7_USART2}, { USART2, GPIOD, GPIO_PIN_6 , GPIO_AF7_USART2}, //USART3 { USART3, GPIOB, GPIO_PIN_11 , GPIO_AF7_USART3}, { USART3, GPIOC, GPIO_PIN_11 , GPIO_AF7_USART3}, { USART3, GPIOD, GPIO_PIN_9 , GPIO_AF7_USART3}, //USART6 { USART6, GPIOC, GPIO_PIN_7 , GPIO_AF8_USART6}, { USART6, GPIOG, GPIO_PIN_9 , GPIO_AF8_USART6}, }; const stm32_af_pin_list_type chip_af_usart_tx [] = { //USART1 { USART1, GPIOA, GPIO_PIN_9 , GPIO_AF7_USART1}, { USART1, GPIOB, GPIO_PIN_6 , GPIO_AF7_USART1}, //USART2 { USART2, GPIOA, GPIO_PIN_2 , GPIO_AF7_USART2}, { USART2, GPIOD, GPIO_PIN_5 , GPIO_AF7_USART2}, //USART3 { USART3, GPIOB, GPIO_PIN_10 , GPIO_AF7_USART3}, { USART3, GPIOC, GPIO_PIN_10 , GPIO_AF7_USART3}, { USART3, GPIOD, GPIO_PIN_8 , GPIO_AF7_USART3}, //USART6 { USART6, GPIOC, GPIO_PIN_6 , GPIO_AF8_USART6}, { USART6, GPIOG, GPIO_PIN_14 , GPIO_AF8_USART6}, };

michael_l
Пт 28 апреля 2017 г. 11:37
Даниэфф написал:Тогда я смену меню на Discovery407 на UART2 и каким -то образом #undefine UART1

@zmemw16 У меня нет всех досок, и время пройти через каждую схему. В настоящее время все UART должны быть использованы по умолчанию на первичный PIN (один и тот же Cubemx дает сначала, если вы включите). Вы можете установить альтернативные булавки с SerialUartx.STM32Setrx (...). Варианты смогут изменить значения по умолчанию, когда он будет реализован (некоторые #Define в варианте.H, не знаю, как их назвать...).

Если код низкого уровня также дает мусор, то это несоответствие бод, возможно, ошибка настройки часов, плата не имеет кристалла 8 МГц, использует что -то еще или какую -то другую проблему.

michael_l
Пт 28 апреля 2017 г. 14:01
Только что попробовал еще раз с другим USB -конвертером (CH340):

Код «низкого уровня» Даниэля работает
Serialuart1 не работает (вывод мусора)
Serialuart2 Works !

Так что -то было "выключено" вчера на моем компьютере. Я считаю, что у моего чипа FTDI есть некоторые проблемы (нет другого объяснения)

Либо переиздание булавок для UART1 или отключения UART1 - разумные варианты

Беннебой
Пт 28 апреля 2017 г. 14:05
michael_l написал:Только что попробовал еще раз с другим USB -конвертером (CH340):

Код «низкого уровня» Даниэля работает
Serialuart1 не работает (вывод мусора)
Serialuart2 Works !

Так что -то было "выключено" вчера на моем компьютере. Я считаю, что у моего чипа FTDI есть некоторые проблемы (нет другого объяснения)

Либо переиздание булавок для UART1 или отключения UART1 - разумные варианты

michael_l
Пт 28 апреля 2017 г. 14:22
Bennehboy ​​написал:michael_l написал:Только что попробовал еще раз с другим USB -конвертером (CH340):

Код «низкого уровня» Даниэля работает
Serialuart1 не работает (вывод мусора)
Serialuart2 Works !

Так что -то было "выключено" вчера на моем компьютере. Я считаю, что у моего чипа FTDI есть некоторые проблемы (нет другого объяснения)

Либо переиздание булавок для UART1 или отключения UART1 - разумные варианты

michael_l
Пт 28 апреля 2017 г. 15:46
Получил черную доску сегодня. Если мы попытаемся интегрировать Speffs в качестве файловой системы, как в ESP8266 ?

Пито
Пт 28 апреля 2017 г. 15:47
В Seriauart есть ошибка/опечатка.Строка 44:
if (!static_rx_used) { txBuffer = (uint8_t*)rx; <<<< shall be rxBuffer static_rx_used = true; } else { rxBuffer = (uint8_t*)malloc(BUFFER_SIZE); } }

Пито
Пт 28 апреля 2017 г. 16:01
michael_l написал:Получил черную доску сегодня. Если мы попытаемся интегрировать Speffs в качестве файловой системы, как в ESP8266 ?

Даниэфф
Пт 28 апреля 2017 г. 16:05
Пито написал:В Seriauart есть ошибка/опечатка.Строка 44:
if (!static_rx_used) { txBuffer = (uint8_t*)rx; <<<< shall be rxBuffer static_rx_used = true; } else { rxBuffer = (uint8_t*)malloc(BUFFER_SIZE); } }

victor_pv
Пт 28 апреля 2017 г., 16:11
Пито написал:michael_l написал:Получил черную доску сегодня. Если мы попытаемся интегрировать Speffs в качестве файловой системы, как в ESP8266 ?

victor_pv
Пт 28 апреля 2017 г. 16:13
michael_l написал:Получил черную доску сегодня. Если мы попытаемся интегрировать Speffs в качестве файловой системы, как в ESP8266 ?

Пито
Пт 28 апреля 2017 г. 16:18
В SDFAT есть файл с именем SDSPISTM32F1.CPP - это «драйвер DMA SPI» для STM32F103 Billg сделал в прошлом, скорее всего, на основе Libmaple..
Bluepill на основе DMA делает 3.5 МБ/сек RD/WR @36 МГц, в настоящее время мы делаем половину на F407.
И тогда есть файл sdioteensy.CPP с SDIO включен для F4 что -то.. Freescale или NXP или как это называется сегодня..
Законопроект претендует на 20 МБ/с на SDIO Teensy @240MHZ.. :)

@Daniel: Кажется, нам нужен дополнительный флаг __stm32f4__, чтобы добавить в дополнительный.флаг =.. Как SDFAT использует этот тип..

PS: SDFAT Repo была обновлена ​​вчера, поэтому скачайте последнюю версию, я думаю, -бета в.

Даниэфф
Пт 28 апреля 2017 г. 16:18
Еще нет DMA. Вероятно, должен получить полную тему.

Существует минимальный SDIO, и SDFAT-бета с SDIO в BoardExamples / Black 407VE

victor_pv
Пт 28 апреля 2017 г. 16:29
Пито написал:В SDFAT есть файл с именем SDSPISTM32F1.CPP - это «драйвер DMA» для STM32F103, который сделал в прошлом, скорее всего, на основе Libmaple..
Bluepill на основе DMA делает 3.5 МБ/сек RD/WR @36 МГц, в настоящее время мы делаем половину на F407.
И тогда есть файл sdioteensy.CPP с SDIO включен для F4 что -то.

Пито
Пт 28 апреля 2017 г. 16:35
Если вы добавите SDIO, мы не против ждать неделю : D : D : D

victor_pv
Пт 28 апреля 2017 г. 16:42
Пито написал:Если вы добавите SDIO, мы не против ждать неделю : D : D : D

Пито
Пт 28 апреля 2017 г., 17:19
Я считаю, что SDIO уже работает, хотя без DMA. SDFAT с SDIO уже работает?

michael_l
Пт 28 апреля 2017 г., 18:13
Я получил ранее Spiffs, работающие из источников с F103 и Winbond SPI Flash Chip. Но это были только основные резки, и у него не было дополнительного уровня для ARDUINO File API, как они сделали для ESP8266. Я стремлюсь к этому, потому что я думаю, что это проще использовать API файла от Arduino.

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

«Общие» SPI DMA было бы неплохо, потому что в настоящее время есть много устройств SPI, так что все могли бы извлечь выгоду из этого.

Меня также интересует водитель может. Похоже, в сети довольно много реализации HAL, а одна в Phonog's Repo для F103, которая имеет ARDUINO API, но внутренне реализовано с Libmaple.

Есть ли канал DMA для доступного CAN? :-)

Пито: Проверьте папку примеров, я думаю, что я что -то там увидел.

Пито
Пт 28 апреля 2017 г., 18:53
Важное чтение для всех поклонников F407 - ошибки с ноября 2016 года.
http: // www.ул.com/content/ccc/resource/ ... 037591.PDF

victor_pv
Пт 28 апреля 2017 г., 8:04 вечера
michael_l написал:Я получил ранее Spiffs, работающие из источников с F103 и Winbond SPI Flash Chip. Но это были только основные резки, и у него не было дополнительного уровня для ARDUINO File API, как они сделали для ESP8266. Я стремлюсь к этому, потому что я думаю, что это проще использовать API файла от Arduino.

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

«Общие» SPI DMA было бы неплохо, потому что в настоящее время есть много устройств SPI, так что все могли бы извлечь выгоду из этого.

Меня также интересует водитель может. Похоже, в сети довольно много реализации HAL, а одна в Phonog's Repo для F103, которая имеет ARDUINO API, но внутренне реализовано с Libmaple.

Есть ли канал DMA для доступного CAN? :-)

Пито: Проверьте папку примеров, я думаю, что я что -то там увидел.

Chismicro
Солнце 30 апреля 2017 г., 6:30 утра
Я только что добавил папку /пример/all_boards Потому что многие примеры могут быть использованы для всех досок.

Из этой темы я узнал об именовании последовательных портов, поэтому я добавил пример. Я надеюсь, что мое понимание вещей верно, а также описание в примере. Если у вас есть какие -либо подсказки (или вы носитель английского языка), не стесняйтесь расширить или исправить пример.

@Daniel: Прошу прощения, не ответил вам на запрос. Все ли все решены с последовательными портами сейчас?

Даниэфф
Солнце 30 апреля 2017 г. 7:21
Да, сериал сбивает с толку, так как есть много досок и много вариантов.
У вас есть доска со ST-Link V2.1 (не только v2)? Вы также можете попробовать Virtual Com ST-Link.

Chismicro
Солнце 30 апреля 2017 г. 9:13 утра
Да, сериал сбивает с толку, так как есть много досок и много вариантов. Я стараюсь уменьшить для всех людей путаницу, предоставив примеры.
А также важно: описание в заголовке примеров.
У меня есть сериал для конвертера USB. Я думаю, что нет проблем.
Моя главная попытка - предоставить людям легкий доступ к STM Arduino, потому что если это проще в использовании, Больше людей будет использовать ИТ и больше программного обеспечения внесено.
Иногда Serialusb висит на моем открытии STM32F4, подключенном к Win10 над USB-Hub.
Но я мог бы уменьшить это висящее, добавив ожидание серийного ChAR в начале программы, чтобы не было отправлять плату прямо с самого начала.
Вы можете увидеть это в некоторых примерах.

Я думаю, что Ардуно полезен, когда "Примеры одного щелчка" работают. Это означает: нажмите на пример, он компилирует, мигает и работает.
Еще одно действительно полезное преимущество коротких примеров заключается в том, что их можно использовать в качестве шаблонов: просто скопируйте и вставьте. Поэтому примеры должны быть короткими и ясными (я не уверен, что я буду достичь еще цели каждый раз).

Chismicro
Солнце 30 апреля 2017 г. 9:30 утра
Другой вопрос:
Я положил HAL пример от Майкла в репо.
Поскольку в STM32GEERIERIERE нет драйвера ЦАП, я думал, что смогу просто генерировать один с STMCUBEMX, а затем просто скопировать его части.
Но это не сработало из -за многих отсутствующих зависимостей.

Итак: как вы обычно генерируете примеры HAL ?

Даниэфф
Солнце 30 апреля 2017 г. 9:49
Если вы #Nclude "stm32_hal.H », все дополнительные вещи отсюда будут составлены в: https: // github.com/danieleff/stm32gener ... 32_hal/src

michael_l
Солнце 30 апреля 2017 г. 15:38
Есть ли какая -то хитрость, чтобы получить сериал USB с Black407Ve (2.0) Вариант. Кажется, моя доска даже не пытается перечислять. Это F407Vet6

victor_pv
Солнце 30 апреля 2017 г. 15:56
michael_l написал:Есть ли какая -то хитрость, чтобы получить сериал USB с Black407Ve (2.0) Вариант. Кажется, моя доска даже не пытается перечислять. Это F407Vet6

michael_l
Солнце 30 апреля 2017 г. 16:02
Вот фото

Изображение

Изображение

Беннебой
Солнце 30 апреля 2017 г., 17:05
Вы загрузили эскиз через ST-Link? Serialusb не будет работать до тех пор, пока это.

Chismicro
Солнце 30 апреля 2017 г., 17:22
Разве это не доска этот в вики?
В схема кажется, что USB IST подключен к PA11/12

michael_l
Солнце 30 апреля 2017 г., 19:23
Chismicro написал:Разве это не доска этот в вики?
В схема кажется, что USB IST подключен к PA11/12

Пито
Солнце 30 апреля 2017 г. 22:27
Вы должны скомпилировать и прошить эскиз с serialusb.начинать(); Serialusb.println ("hello");, тогда это перечисляет..

Chismicro
Пн, 1 мая 2017 г., 4:34
https: // github.com/chrismicro/stm32gene ... WTOOTH.Ино Я уверен, что он делал это, потому что писал: «Это не работает каждый раз».
На моем открытии STM32F4 у меня есть то же самое: это не каждый раз, иногда весь серийный монитор в IDE висит.

Даниэфф
Пн, 1 мая 2017 г. 5:57 утра
@michael_l: у меня есть точная доска. Если плата правильно выбрана, а в меню USB установлено на сериал, после любого сериала.начинать(...) или serialusb.начинать(...) (Они с одинаковым.

@Chrismicro: Есть 2 типа проблем, с которыми я столкнулся (учитывая, что USB перечислен):
  • Если я загрузите новый эскиз, серийный монитор должен быть закрыт / вновь открыт. Могу я получить подтверждение по этому поводу? Это, вероятно, не может быть исправлено, если мы не изменяем Arduino Ide так, как это нравится Teensy здесь и здесь. Наверное не произойдет.
  • Если я отправляю слишком много данных, это висит и даже не может закрыть серийный монитор. Может исправить только путем отключения USB (или сброса доски). Я «думаю», у меня был успех исправить это, установив cdc_serial_buffer_size на 4K в STM32/cores/arduino/usb/usbd_cdc_if.час

Chismicro
Пн, 1 мая 2017 г., 7:25 утра
Хорошо, я прохожу тест .. Если я загрузите новый эскиз, серийный монитор должен быть закрыт / вновь открыт. Могу я получить подтверждение по этому поводу? Это, вероятно, не может быть исправлено, если мы не изменим Arduino Ide так, как Teensy любит здесь и здесь. Наверное не произойдет. Я мигаю "Serial_portusage.Ино"Пример для теста.

STM32F4 Discovery, Win10, Arduino IDE 1.8.0: После загрузки я открываю серийный монитор. Он работает без проблем.

Если я позволю серийному монитору открыться и попытаюсь вспыхивать, я получу

обработка.приложение.Serialexception: ошибка открытие последовательного порта 'com5'.

Но это нормально.

Итак, с этим тестовым сценарием я бы сказал, что все работает, как следует.

Chismicro
Пн, 1 мая 2017 г., 7:33
Если я отправляю слишком много данных, это висит и даже не может закрыть серийный монитор. Может исправить только путем отключения USB (или сброса доски). Я «думаю», у меня был успех исправить это, установив cdc_serial_buffer_size на 4K в STM32/cores/arduino/usb/usbd_cdc_if.час Проверка с "serial_boardusage.Ино снова пример. Но с уменьшением времени задержки до задержки (1) вместо задержки (1000).

Я открываю и закрываю повторяющийся окно серийного монитора.

После третьей попытки IDE висит.

Акронис
Пн, 01 мая 2017 12:44
Хороший день, Даниэфф .
Планируйте скоро добавить поддержку FSMC ?

Даниэфф
Пн, 1 мая 2017 г. 14:51
Акронис написал:Хороший день, Даниэфф .
Планируйте скоро добавить поддержку FSMC ?

victor_pv
Пн, 1 мая 2017 г. 15:33
Даниэфф написал:Акронис написал:Хороший день, Даниэфф .
Планируйте скоро добавить поддержку FSMC ?

Даниэфф
Пн, 01 мая 2017 г., 17:05
У меня нет планов на CCM, да, мы можем сделать один. Кто -нибудь знает сборку рук?

victor_pv
Пн, 1 мая 2017 г., 17:21
Даниэфф написал:У меня нет планов на CCM, да, мы можем сделать один. Кто -нибудь знает сборку рук?

michael_l
Пн, 1 мая 2017 г., 18:48
Даниэфф написал:@michael_l: у меня есть точная доска. Если плата правильно выбрана, а в меню USB установлено на сериал, после любого сериала.начинать(...) или serialusb.начинать(...) (Они с одинаковым.

victor_pv
Вторник 02 мая 2017 г. 3:43
РЕДАКТИРОВАТЬ:
Только что обнаружил, что Даниэль послал кучу коммитов, и слияние их решило проблемы с F1.
Я обновил свой филиал SPI-DMA, чтобы поддержать SPI DMA в серии F1, все еще не проверенный .Если кто -нибудь проверит это, пожалуйста, дайте мне знать.

Даниэфф
Вторник 2 мая 2017 г. 4:36 утра
Я объединил DMA с Master Branch, поскольку он собирает для F4 и F1 сейчас, поэтому можно проверить всеми.

michael_l
Вторник 2 мая 2017 г. 9:49
Отличная работа! Я могу проверить этот последний SPI DMA с Discovery409. Любой шанс добавить метод загрузки jlink для плат, как в STM32Duino для F1 ?

Я также только что понял, что Platformio не работает для STM32GENERIER, как это работает для STM32DUINO. Было бы неплохо работать также. Интересно, есть ли кто -нибудь готовый сделать «шаблон» или импортируемый проект для базового STM32Generic .INO Project для Eclipse ? Спасибо.

Даниэфф
Вторник 2 мая 2017 г. 11:34
michael_l написал:Отличная работа! Я могу проверить этот последний SPI DMA с Discovery409. Любой шанс добавить метод загрузки jlink для плат, как в STM32Duino для F1 ?

Пито
Вторник 02 мая 2017 12:54
При составлении для Maplemini F103, Sdbench с новейшим F1 SPI, я получаю ошибки I2S (у нас нет i2s на MM, мы ли мы?): STM32DE\cores\arduino\stm32\stm32_gpio_af.c:59:17: error: 'chip_af_i2s_sd' undeclared (first use in this function) stm32AfInit(chip_af_i2s_sd, sizeof(chip_af_i2s_sd) / sizeof(chip_af_i2s_sd[0]), instance, sdPort, sdPin, GPIO_MODE_AF_PP, GPIO_NOPULL); ..

victor_pv
Вторник 02 мая 2017 г. 13:45
Даниэфф написал:Я объединил DMA с Master Branch, поскольку он собирает для F4 и F1 сейчас, поэтому можно проверить всеми.

Даниэфф
Вторник 02 мая 2017 г. 15:01
@Pito, вы можете проверить последнюю репо?
Любая причина использовать __stm32f1__ вместо STM32F1?

Chismicro
Вторник 02 мая 2017 г. 15:11
Решен

Пито
Вторник 02 мая 2017 г. 16:12
@Daniel: ОК, он сейчас компилируется с последними изменениями.
Я справляюсь с другой проблемой, однако :)
Я не могу загрузить через DFU в свой MapLem (DFU Bootloader 0x2000). Он не ждет ни секунды и прыгает, чтобы Stlink.. :) Starting upload using arduino loader Starting reset using DTR toggle process Toggling DTR Continuing to useCOM18 Ending reset .. ..tools/win/stlink_upload.bat COM18 2 1EAF:0003 C:\Users\pito\MyCode\Sloeber\SDBench/Release/SDBench.bin Output: STM32 ST-LINK CLI v2.1.0 STM32 ST-LINK Command Line Interface No ST-LINK detected!

Даниэфф
Вторник 02 мая 2017 г. 16:52
Это затмение Словебер? Я обнаружил, что ему все равно, что выбрано в качестве метода загрузки в свойствах проекта/Arduin. Он просто использует по умолчанию или используется последнее (ST-Link в вашем случае). Я добавил `maplemini_f103cb.загрузить.Tool = maple_upload` to boards.текст. Я думаю, большинство людей используют это с Maplemini.
Вы можете попробовать это? И проект/свойства/Arduino/Apply.

Пито
Вторник 02 мая 2017 г., 17:22
Я добавил `maplemini_f103cb.загрузить.Tool = maple_upload` to boards.текст. Этого недостаточно, кажется..
Я изменился на платформе.текст: # Upload using Maple bootloader over DFU tools.maple_upload.cmd=maple_upload tools.maple_upload.cmd.windows=maple_upload.bat #tools.maple_upload.path={runtime.tools.STM32Tools.path}/tools/win tools.maple_upload.path.windows={runtime.hardware.path}/tools/win <<<<<<<<<<<<<<<< My path

Chismicro
Ср. 3 мая 2017 г. 10:33
@Daniel
Я только что попытался скомпилировать для STM32F746 Discovery

Результат все еще

ARM-None-EABI-G ++: Ошибка: не признанный аргумент в опции '-mcpu = cortex-m7'

Вызов компилятора (где вы можете увидеть версию)
...\ Appdata \ local \ arduino15 \ packages \ stm32 \ tools \ arm-none-eabi-gcc \4.8.3-2014Q1/bin/arm-none-eabi-g ++ "-mcpu = cortex-m7 ...

Я думаю, следуя Описание установки в вашем репозитории Я не получаю компилятор ведьма поддерживает F7

Где вы взяли подходящий компилятор?

Даниэфф
Ср. 3 мая 2017 г. 10:55
Отсюда: https: // launchpad.net/gcc-harm, внесенный
Установить, затем вручную изменить STM32/платформу.TXT `Компилятор.path = `указывать на вашу версию.

Я надеюсь, что смогу упаковать его с пакетом менеджера досок. До тех пор это единственный способ... (Я мог бы поместить его в репо, но это похоже на несколько 100 ГБ, так что не так)

РЕДАКТИРОВАТЬ: На самом деле кто -нибудь знает разницу между https: // launchpad.net/gcc-harm, внесенный (5-2016-Q3) и https: // Разработчик.рука.com/с открытым исходным кодом/g ... /Загрузки (6-2017-Q1)?

AG123
Ср. 3 мая 2017 г. 11:13
Я думаю, что разработки GCC-Arm, размещенные на LaunchPad, с тех пор перешли на это на веб-сайте ARM, следовательно, версия GCC-Arm Arm является текущей / самой последней цепочкой инструментов для GCC-Arm
Я использую это с веб -сайта Arm

Chismicro
Чт, 04 мая 2017 г., 4:33
Спасибо всем за подсказки о том, как скомпилировать для F7 : D

Вот еще одна тема:
Поскольку составление «примера мигания» для моего Nucleo L476RG не сработала, я протестировал, чтобы скомпилировать мигание для всех плат ядров, поддерживаемых STM32Generic.

Nucleo F030R8 ==> ОШИБКА

C: \ tools \ arduino \ arduino1_8 \ harpware \ stm32generic \ stm32 \ cores \ arduino \ stm32 \ stm32_pwm.C: В функции 'Analogwrite':

C: \ tools \ arduino \ arduino1_8 \ harpware \ stm32generic \ stm32 \ cores \ arduino \ stm32 \ stm32_pwm.C: 37: 30: ошибка: 'Tim2_irqn' undeclared (сначала используйте в этой функции)

Hal_nvic_setpriority (tim2_irqn, 0, 0);

Nucleo F103RP ==> ХОРОШО

Nucleo F303RE ==> ХОРОШО
Nucleo F411RE ==> ХОРОШО
Nucleo L053R8 ==> ХОРОШО
Nucleo L152RE ==> ХОРОШО
Nucleo L476RG ==> ОШИБКА

Эскиз слишком большой; видеть http: // www.Ардуино.cc/en/guide/retubleshooting#размер Для советов по его сокращению.
Компиляция ошибок для досок досок нукле-64.

Даниэфф
Чт, 04 мая 2017 г., 4:41
Спасибо. Я опечатал размер вспышки на L476RG, чтобы `загрузить.maximum_size = 1024` вместо `upload.maximum_size = 1048576`. Толкнулся

Chismicro
Чт, 04 мая 2017 г. 5:13
Спасибо за быстрое изменение.
Сейчас он компилируется и загружается, но не мигает.

Если я попытаюсь скомпилировать "serial_portusage.INO "в папке" all_boards ", которую я получаю:

..\ Appdata \ local \ temp \ arduino_build_88383/core \ core.A (STM32XXXX_HAL_UART.в.o): в функции `hal_uart_irqhandler ':

C: \ Tools \ arduino \ arduino1_8 \ halpware \ stm32generic \ stm32 \ system/stm32l4/hal_src/stm32l4xx_hal_uart.C: 1665: неопределенная ссылка на `hal_uartex_wakeupcallback '

COLLECT2.EXE: Ошибка: LD вернул 1 статус выхода

Chismicro
Чт, 04 мая 2017 г., 6:54
Потому что у меня есть ядро ​​STM32F401, я только что добавил эту доску.

У меня есть следующие результаты теста:
- Предварительно выбранный метод загрузки «массовое хранилище» не работает

+ Загрузка ST-Link работает
+ Blink Works
+ серийные работы

- Если я отключаю плату и воссоединяю ее, программа Flashed не запускается. Я должен перепрошать

fpistm
Чт, 04 мая 2017 г., 7:57 утра
Даниэфф написал: Я надеюсь, что смогу упаковать его с пакетом менеджера досок. До тех пор это единственный способ... (Я мог бы поместить его в репо, но это похоже на несколько 100 ГБ, так что не так)

РЕДАКТИРОВАТЬ: На самом деле кто -нибудь знает разницу между https: // launchpad.net/gcc-harm, внесенный (5-2016-Q3) и https: // Разработчик.рука.com/с открытым исходным кодом/g ... /Загрузки (6-2017-Q1)?

Даниэфф
Чт, 04 мая 2017 г., 11:21
@ChriSmicro: Извините, я не знаю, почему L476RG не мигает, может быть, SystemClock_Config () неверно.
Массовое хранилище: когда вы его подключите, это новое имя диска, так же, как в `.massstorage_drive = node_f401re`?
Провернутая программа не запускается: даже простое мигание? И нажатие сброса?

Позже я исправим эти ошибки компиляции.

@fpistm: Если вы создаете для него пакет инструментов, могу я тоже это использовать?

fpistm
Чт, 4 мая 2017 г., 11:43
Даниэфф написал:@fpistm: Если вы создаете для него пакет инструментов, могу я тоже это использовать?

Chismicro
Чт, 04 мая 2017 г. 15:46
Когда вы подключите его, это новое имя диска, такое же, как и в `.massstorage_drive = node_f401re`?
Провернутая программа не запускается: даже простое мигание? И нажатие сброса?
Диск есть: "node_f401re"
Если я посмотрю на это с помощью исследователя файла, «мигай.Ино.бин "тоже там. Но это не мигает. Даже после сброса.

Если я отключаю и снова подключаю, мигает.Ино.корзина "ушла.

Даниэфф
Чт, 4 мая 2017 г., 16:14
Здесь Похоже, вы скопировали настройки часов F411, но F411 работает на 100 МГц, F401 только 84 МГц (и могут быть и другие небольшие различия). У вас есть STM32Cubemx?

Chismicro
Чт, 04 мая 2017 г. 16:42
Здесь кажется, что вы скопировали настройки часов F411, но F411 работает на 100 МГц, F401 только 84 МГц (и могут быть и другие небольшие различия) О, хм... да ... Я думал, что они одинаковы, кроме некоторых различий в периферийных устройствах и памяти ...
У вас есть STM32Cubemx? У меня есть, но я не использовал это. Это то, что он производит, когда я выбираю Nucleo F401 без каких -либо модификаций:
void SystemCoreClockUpdate(void) { uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; /* Get SYSCLK source -------------------------------------------------------*/ tmp = RCC->CFGR & RCC_CFGR_SWS; switch (tmp) { case 0x00: /* HSI used as system clock source */ SystemCoreClock = HSI_VALUE; break; case 0x04: /* HSE used as system clock source */ SystemCoreClock = HSE_VALUE; break; case 0x08: /* PLL used as system clock source */ /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N SYSCLK = PLL_VCO / PLL_P */ pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; if (pllsource != 0) { /* HSE used as PLL clock source */ pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); } else { /* HSI used as PLL clock source */ pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); } pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; SystemCoreClock = pllvco/pllp; break; default: SystemCoreClock = HSI_VALUE; break; }

Даниэфф
Чт, 04 мая 2017 г. 16:46
SystemClock_Config () должен быть в основном.в

victor_pv
Чт, 04 мая 2017 г., 22:49
Получение этой ошибки компиляция для 103RFT6, и я действительно не могу найти этот символ, определенный нигде:

/Stm32/system/stm32f1/stm32_chip/stm32_stm32f103rf.H: 128: неопределенная ссылка на `__hal_afio_remap_spi3_enable '

Chismicro
Пт 5 мая 2017 г. 6:23 утра
@Daniel

Для ucleo_f476rg у меня есть сценарий линкера, исправленный в соответствии с

http: // www.OpenSTM32.org/forumThread2359

Теперь Правление работает, как и ожидалось. Скачать через ST-Link и Mass Storage Works.

Для F401 я исправил настройки часов, копирующие те, что из STMCube.
Доска ведет себя как раньше: Blink работает только после загрузки с ST-Link.

Даниэфф
Пт 5 мая 2017 г. 7:18 утра
Я посмотрю на 103rft6 позже.

L476RG ах, а затем длина оперативной памяти = 128 тыс. Также неверно.

michael_l
Пт, 5 мая 2017 г. 12:48
Даниэль: Я работаю с Platerio Integration для вашей реализации STM32GENERIER, и почти закончил. Как вы думаете, вам можно было бы добавить пакет.json к корневой папке вашего репозитория GitHub ? Я был бы признателен, что. Это значительно облегчит использование вашего репо в Platformio с автоматической загрузкой и интеграцией. Спасибо. Прилагается пакет.Файл JSON с некоторыми первоначальными текстами и описанием - не стесняйтесь их менять. Другая возможность состоит в том, что я использую свою собственную вилку, но тогда мне придется объединить ее один раз, чтобы быть на том же уровне с вашим репозиторием.

Chismicro
Пт, 5 мая 2017 г. 12:55
L476RG ах, а затем длина оперативной памяти = 128 тыс. Также неверно. Сейчас я сократил длину оперативной памяти до 96 тыс., Даже если они продают ее как 128 тыс.

Обе доски Nucleo 64 (F401RE и L476RG) работают сейчас, так как они ожидаются (с моей стороны ;) )
Проблема F401RE с «загрузкой массового хранилища» была встроенная проплема ST-Link V2: мне пришлось обновить его с помощью «STM32 ST-Link Utility», тогда он работал правильно.

Так .. если ты хочешь .. Вы можете объединиться.

@Майкл
Ты пробовал мой STM32F4 Примеры обнаружения Микрофон немного работает ...

Даниэфф
Пт, 5 мая 2017 г. 13:07
@ChriSmicro я объединил ваши изменения.
@michael_l Я могу добавить пакет.json, есть ли где -то документация?

victor_pv
Пт 5 мая 2017 г. 13:14
Даниэфф написал:Я посмотрю на 103rft6 позже.

L476RG ах, а затем длина оперативной памяти = 128 тыс. Также неверно.

michael_l
Пт 5 мая 2017 г., 19:14
Даниэфф написал: @michael_l Я могу добавить пакет.json, есть ли где -то документация?

michael_l
Пт 5 мая 2017 г., 19:15
Chismicro написал:L476RG ах, а затем длина оперативной памяти = 128 тыс. Также неверно. @Майкл
Ты пробовал мой STM32F4 Примеры обнаружения Микрофон немного работает ...

Пито
Солнце 07 мая 2017 г. 19:14
При строительстве для моего синего F103ZE я получаю ошибку: C:\Users\pito\MyCode\Sloeber\SDBench_F1\Release\arduino.ar(stm32_gpio_af.c.o): In function `AF__HAL_AFIO_REMAP_SPI3_ENABLE': C:/Users/pito/MyCode/Arduino/hardware/Arduino_STM32SerBuff/STM32DE/system/STM32F1/stm32_chip/stm32_STM32F103ZE.h:250: undefined reference to `__HAL_AFIO_REMAP_SPI3_ENABLE' C:\Users\pito\MyCode\Sloeber\SDBench_F1\Release\arduino.ar(stm32_gpio_af.c.o): In function `AF__HAL_AFIO_REMAP_SPI3_DISABLE': C:/Users/pito/MyCode/Arduino/hardware/Arduino_STM32SerBuff/STM32DE/system/STM32F1/stm32_chip/stm32_STM32F103ZE.h:249: undefined reference to `__HAL_AFIO_REMAP_SPI3_DISABLE'

Пито
Солнце 07 мая 2017 г. 9:30 вечера
Это, кажется, здесь не работает с F103 Core (Serial или Serial1 или Seriauart1) на PA9, PA10: while (!Serial.available()) { };

victor_pv
Пн, 8 мая 2017 г., 4:04
Пито написал:Это, кажется, здесь не работает с F103 Core (Serial или Serial1 или Seriauart1) на PA9, PA10: while (!Serial.available()) { };

Даниэфф
Пн, 8 мая 2017 г., 4:28
Пито написал:Это, кажется, здесь не работает с F103 Core (Serial или Serial1 или Seriauart1) на PA9, PA10: while (!Serial.available()) { };

Пито
Пн, 8 мая 2017 г., 6:35
Получение не работает здесь с F103ZE, у меня сейчас не было под рукой Maplemini, но он тоже не работал с MM.
Можете ли вы подтвердить, что вы можете ввести данные в Mmini через Serialuart?

Даниэфф
Пн, 8 мая 2017 г., 6:44
Я только пытался подключить RX-TX, затем SerialUart1.Напишите (5), if (serialuart1.доступен ()) {if (serialuart1.read () == 5) {...}}
Кстати, передача работы? (Оба реализованы с помощью Ringbuffer прерывания)

Пито
Пн, 8 мая 2017 г., 7:00 утра
TX работает так, как мы можем печатать результаты наших экспериментов :)
RX не.. Я попробую с демонстрацией.. //#define Serial SerialUART1 //#define Serial Serial1 int incomingByte = 0; // for incoming serial data void setup() { Serial.begin(115200); Serial.println("Serial Demo, enter a char:"); } void loop() { if (Serial.available() > 0) { incomingByte = Serial.read(); Serial.print("I received: "); Serial.println(incomingByte, HEX); } }

Даниэфф
Пн, 8 мая 2017 г., 17:55
Я думаю, что нашел исправление для UART RX на F1, совершенное.

victor_pv
Вторник 09 мая 2017 г., 4:05
!Сериал не работает для USB, он должен вернуть всегда ложь, можем ли мы его изменить?
Это кажется, что для меня отлично работает на F1: SerialUSBClass::operator bool() { // this is here to avoid spurious opening after upload if (millis() < 500) return false; bool result = false; if(hUsbDeviceFS.dev_state == USBD_STATE_CONFIGURED){ result = true; } /* if (_usbLineInfo.lineState > 0) { result = true; } delay(10); */ return result; }

Пито
Вторник 09 мая 2017 г., 19:02
Даниэфф написал:Я думаю, что нашел исправление для UART RX на F1, совершенное.

Пито
Вторник 09 мая 2017 11:14
Пытаясь распечатать uint64_t sum;

Даниэфф
Ср 10 мая 2017 г., 17:31
Добавлено массовое хранилище в меню USB. Надеюсь, я не сломал serialusb. (Оба не работают одновременно).
Учитывая, что я не знаю, каким должен быть API (это, вероятно, будет что -то вроде `setupmassstorate (...) `То, что пользователь должен реализовать), здесь тестирует код для неформатированного рамдиска, протестированный только на черном 407VE: #include "msc/usbd_msc.h" const uint8_t MSC_Inquirydata[] = { /* LUN 0 */ 0x00, 0x80, 0x02, 0x02, (STANDARD_INQUIRY_DATA_LEN - 5), 0x00, 0x00, 0x00, 'S', 'T', 'M', ' ', ' ', ' ', ' ', ' ', /* Manufacturer : 8 bytes */ 'P', 'r', 'o', 'd', 'u', 'c', 't', ' ', /* Product : 16 Bytes */ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '0', '.', '0' ,'1', /* Version : 4 Bytes */ }; const uint16_t blockSize = 512; const uint32_t blockCount = 100; uint8_t ramdisk[blockSize * blockCount] = {0}; namespace Testing { // See UM1734, 6.2.4 // See usbd_msc.h USBD_StorageTypeDef USBD_DISK_fops = { //Init [](uint8_t lun) -> int8_t { return USBD_OK; }, //GetCapacity [](uint8_t lun, uint32_t *block_num, uint16_t *block_size) -> int8_t { *block_num = blockCount; *block_size = blockSize; return USBD_OK; }, //IsReady [](uint8_t lun) -> int8_t { return USBD_OK; }, //IsWriteProtected [](uint8_t lun) -> int8_t { return USBD_OK; }, //Read [](uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len) -> int8_t { memcpy(buf, ramdisk + blk_addr * blockSize, blk_len * blockSize); return USBD_OK; }, //Write [](uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len) -> int8_t { digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); memcpy(ramdisk + blk_addr * blockSize, buf, blk_len * blockSize); return USBD_OK; }, //GetMaxLun []() -> int8_t {return 0;}, (int8_t *)MSC_Inquirydata }; } void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { }

Rogerclark
Чт 11 мая 2017 г., 2:12
Стивестронг написал:Я думаю, что нам отчаянно нужна отдельная «STM32GENEREN» в записи под »Загрузчики и ядра",
так что каждый вопрос можно обсудить в отдельном потоке.

michael_l
Чт 11 мая 2017 г., 4:58 утра
michael_l написал:Chismicro написал:L476RG ах, а затем длина оперативной памяти = 128 тыс. Также неверно. @Майкл
Ты пробовал мой STM32F4 Примеры обнаружения Микрофон немного работает ...

Chismicro
Чт 11 мая 2017 г. 6:50 утра
Только что попробовал это, и я могу подтвердить, что это работает. Это весело ! Я должен больше узнать о I2S и PDM. Похоже, что обработка PDM сложнее, чем я думал изначально. Спасибо за попытку : D
Проблема с PDM-Microphone в том, что мне пришлось потратить его на «бит» ~ 2.3 МГц и моя какая -то плохая реализация фильтра.
Я думаю, это можно улучшить ...
У STM есть библиотека с закрытым исходным кодом, но я не хочу использовать библиотеки с закрытым исходным кодом.

Пито
Чт 11 мая 2017 г. 16:54
Даниэфф написал:Пито: нет печати (uint64_t) (пока), поэтому он дает ошибку.

Chismicro
Пт 12 мая 2017 г. 14:13
@Daniel

Я только что попытался собрать оба примера в папке Black407Ve. Но это не сработало: файлы включения отсутствуют :!:

Даниэфф
Сб 13 мая 2017 г., 4:46
Chismicro написал:@Daniel

Я только что попытался собрать оба примера в папке Black407Ve. Но это не сработало: файлы включения отсутствуют :!:

Chismicro
Сб 13 мая 2017 г. 5:22 утра
Spiflash от менеджера библиотеки и SDFAT-бета от GitHub Проблема в том, где найти? Можете ли вы предоставить ссылки?
Лучшее для примеров было бы, если бы они просто скомпилировались и работали. Имеет ли смысл включить библиотеки в хранилище?
Если нет, было бы очень полезно иметь ссылку в заголовке описания примера.

КСТАТИ.: Я добавил новый Основные примеры для Black407Ve

Я также попробовал аналогичный пример из основных примеров Arduino. Мне пришлось заменить A0 на E.глин. PA0.
USB-сериал работал нормально с 115200 бод, но подвешивался 9600Baud.

А Примеры без оперативной памяти показывает только 124 КБ ОЗУ вместо 196 КБ ОЗУ.

fpistm
Сб 13 мая 2017 г., 5:43
Привет @danieleff,

К вашему сведению, я упаковал ARM GCC Toolchain 6-2017-Q1-UPDATE, он доступен здесь:
https: // github.com/stm32duino/boardmana ... TM32/Инструменты

Это официальный релиз от Arm (кроме 32-битного Linux):
https: // Разработчик.рука.com/с открытым исходным кодом/g ... /Загрузки
Я только удаляю документации и все каталоги V8, чтобы уменьшить размер архива.
Поскольку ARM не предоставляет 32-битную версию Linux, я построил ее из источника.

Вы можете использовать его, если создать пакет. Вы найдете описание пакетов в файле JSON.

Chismicro
Сб 13 мая 2017 г., 6:42
@Daniel:
Мы могли бы добавить этот заголовок в пример Winbond.
/* Test and print statistics of the onboard SPI-flash memmory board: BLACK407VE how to: 1. Install library: SPIFlash by Prajwal Bhattaram (Marzogh) https://github.com/Marzogh/SPIFlash 2. Upload sketch 3. Open USB serial monitor Issues: Start the serial monitor in less than 5 seconds after downloading The USB-serial may hang due to the amount of data printed. */

Chismicro
Солнце 14 мая 2017 г., 2:58
примеры->Примеры платы STM для пользователей -> Black407ve -> Sdiodirlistwriteread
// 1. Установите SDFAT-бета из https: // github.com/greiman/sdfat-бета
ХОРОШО.
// 2. В SDFATCONFIG.h, изменение enable_sdio_class от 0 до 1
??

Текущее состояние: Пример работает

Даниэфф
Солнце 14 мая 2017 г. 3:24
Chismicro написал:примеры->Примеры платы STM для пользователей -> Black407ve -> Sdiodirlistwriteread
// 1. Установите SDFAT-бета из https: // github.com/greiman/sdfat-бета
ХОРОШО.
// 2. В SDFATCONFIG.h, изменение enable_sdio_class от 0 до 1
??

Текущее состояние: Пример не работает

Chismicro
Солнце 14 мая 2017 г. 5:58 утра
Спасибо за быстрый ответ, Даниэль.
Сейчас работает : D
Учитывая, что это единственная внедрение SDIO для Arduino, Wayiets Way состояла в том, чтобы использовать его с этим абсолютно минимальным изменением. Я не хочу переопределять FAT32. Конечно, нет. Но вопрос: как мы можем включить пример SD-карты, который выходит из коробки.

Я думаю, что Роджер сделал в SM32F1Репозиторий действительно хорош: включая все важные библиотеки, чтобы вещи просто работали.

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

Вот краткое изложение того, как запустить SD-Card:
/* 1. Install SdFat-beta from https://github.com/greiman/SdFat-beta By the way you can install SPIFlash from sketch / library / manage libraries 2. In SdFatConfig.h, Change ENABLE_SDIO_CLASS 0 to 1 If you have installed the library with the library manager in windows your will find the file here: C:\Users\..WhatEverUser..\Documents\Arduino\libraries\SdFat\src sdFatConfig.h: .. // Enable SDIO driver if available. #if defined(__MK64FX512__) || defined(__MK66FX1M0__) #define ENABLE_SDIO_CLASS 1 #define ENABLE_SDIOEX_CLASS 1 #else // ENABLE_SDIO_CLASS #define ENABLE_SDIO_CLASS 0 // ==> !! change this to ENABLE_SDIO_CLASS 1 !! #endif // ENABLE_SDIO_CLASS ... */

Chismicro
Солнце 14 мая 2017 г., 7:40
Я только что понял, что если я использую i2s и SD-карта на Blackf407Ve, I2S перестает работать.
Что может быть причиной? SD-карта использует SPI3?
#include "Arduino.h" #include "SDIO.h" #include "STM32SdFatSdio.h" #include "I2S.h" I2SClass I2S(SPI3, PC12 /*DIN*/ , PA4 /*LRC*/, PC10 /*SCLK*/); STM32SdFatSdio SD;

Даниэфф
Солнце 14 мая 2017 г. 8:43 утра
Chismicro написал:Я только что понял, что если я использую i2s и SD-карта на Blackf407Ve, I2S перестает работать.
Что может быть причиной? SD-карта использует SPI3?
#include "Arduino.h" #include "SDIO.h" #include "STM32SdFatSdio.h" #include "I2S.h" I2SClass I2S(SPI3, PC12 /*DIN*/ , PA4 /*LRC*/, PC10 /*SCLK*/); STM32SdFatSdio SD;

Пито
Солнце 14 мая 2017 г. 11:37
SDIO не совпадает с SPI, интерфейс другой.
Нынешний SDIO By Victor все еще находится в стадии разработки, поэтому он не имеет смысла связываться с ним сегодня, если вы не хотите проверить/отлаживать его.

Chismicro
Солнце 14 мая 2017 г. 8:30 вечера
Даниэль написал: Лучшее, чтобы узнать, что выводы - это открыть Cubemx и включить SDIO (4 бит), и вы увидите, какие выводы он на. Спасибо : D

Пито написал: SDIO не совпадает с SPI, интерфейс другой.
Нынешний SDIO By Victor все еще находится в стадии разработки, поэтому он не имеет смысла связываться с ним сегодня, если вы не хотите проверить/отлаживать его.
Насколько я вижу из Blackf407 схема SDIO прикреплен к булавкам, упомянутым выше, Даниэль.

SPI2 и его булавки, кажется, свободны на доске, поэтому я попробовал I2SClass I2S(SPI2, PC3 /*DIN*/ , PB12 /*LRC*/, PB10 /*SCLK*/);

fpistm
Солнце 14 мая 2017 г., 21:28
Даниэфф написал:@fpistm: Спасибо! Вы думали об использовании выпусков GitHub вместо того, чтобы совершать их в качестве файлов?

Chismicro
Пн 15 мая 2017 г., 7:07
Вот Базовый пример SD-Card-Wav-Player.
Я старался сделать это как можно проще.

Если у вас есть Blackf407Ve и DAC I2S, вы можете попробовать его.

Chismicro
Пн 15 мая 2017 г. 16:55
Я только что попытался подключить дисплей ILI9341 к BlackF407V.
Когда я использую программный SPI со следующей настройкой, дисплей работает со следующими настройками:
#include "Adafruit_GFX.h" #include "Adafruit_ILI9341.h" #define TFT_MOSI PB5 #define TFT_MISO PB4 #define TFT_CLK PB3 #define TFT_RST PA6 #define TFT_DC PA5 #define TFT_CS PA4 // Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC //Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC); // If using the breakout, change pins as desired Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);

Даниэфф
Пн 15 мая 2017 г., 17:59
Я сожалею о том, чтобы ввести Sdiodirlistwriteread в примеры совета директоров.
Пожалуйста, относитесь к нему так, как если бы он был в аппаратном тесте для папки разработчиков. (Я сейчас не переезжаю туда, так как Виктор создаст запрос на это)

Tft_rst - это то, что вы хотите использовать. Adafruit_ili9341 (tft_cs, tft_dc, tft_rst); должен работать

Кстати... Я все еще разрываюсь между использованием PA5/6/7 или PB3/4/5 для SPI в качестве дефолта на черных досках F407. У PB4 есть проблема с тем, что его не разбит на заголовках, PB3 в противоречии с JTAG-SWO, а PAX-SPI1 по умолчанию в Cubemx, а не PBX.

Chismicro
Чт 18 мая 2017 г. 15:34
Tft_rst - это то, что вы хотите использовать. Adafruit_ili9341 (tft_cs, tft_dc, tft_rst); должен работать Спасибо, это сработало.
Кстати... Я все еще разрываюсь между использованием PA5/6/7 или PB3/4/5 для SPI в качестве дефолта на черных досках F407. У PB4 есть проблема с тем, что его не разбит на заголовках, PB3 в противоречии с JTAG-SWO, а PAX-SPI1 по умолчанию в Cubemx, а не PBX. Да, решение кажется нелегким.
Вероятно, мы были бы полезны в списке обязательных интерфейсов Arduino:

- Spi ==> обязательный
- I2s ==> обязательный
- JTAG ==> Используйте интерфейс отладки swdio

Поскольку у меня теперь есть компилятор для открытия STM32F7, я попробовал Whestone Benchmark

STM32Generic-Core
Петли: 1000, итерации: 1, Продолжительность: 2135 мс.
C конвертированные единственные точность Whetstones: 46.84 MIPS

STM-Core
Петли: 1000, итерации: 1, Продолжительность: 7740 мс.
C конвертированные единственные точность Whetstones: 12.92 MIPS

Оба должны замедляться, потому что открытие STM32F4 имеет:

Петли: 1000, итерации: 1, Продолжительность: 917 мс.
C конвертированные единственные точность Whetstones: 109.05 MIPS

AG123
Сб 20 мая 2017 г., 7:18 утра
Для эталона Whetstone
Попробуйте включить FPU, я не уверен, работает ли это для F7, хотя :)
http: // www.STM32duino.com/viewtopic.PHP ... 140#P26666
http: // www.STM32duino.com/viewtopic.PHP ... 130#p26638
http: // Infocenter.рука.com/help/topic/co ... BJHIG.HTML //enable the fpu (cortex-m4 - stm32f4* and above) void enablefpu() { __asm volatile ( " ldr.w r0, =0xE000ED88 \n" /* The FPU enable bits are in the CPACR. */ " ldr r1, [r0] \n" /* read CAPCR */ " orr r1, r1, #( 0xf << 20 )\n" /* Set bits 20-23 to enable CP10 and CP11 coprocessors */ " str r1, [r0] \n" /* Write back the modified value to the CPACR */ " dsb \n" /* wait for store to complete */ " isb" /* reset pipeline now the FPU is enabled */ ); }

michael_l
Сб 20 мая 2017 г. 13:53
Я только что получил небольшую плату F407VET6 с керамическим резонатором 25 МГц. У нас уже есть вариант доски для этого ? Я могу попытаться создать один, если нет. Но кто -то другой может решить об этом имени. Синий4Таблетка ? :-)

Размер довольно хороший, так как он только в два раза больше, чем Bluepill F103.

http: // i.Имгур.com/epcblky.JPG

ViewTopic.PHP?F = 39&T = 1977&P = 28309#P28309

Акронис
Вт 13 июня 2017 г., 7:50 утра
Привет.
Я вижу эту дополнительную поддержку FSMC.
Видел пример, но на дисплей нет вывода текста.
Можете ли вы сказать, как вывести простую строку на дисплее ?

Chismicro
Вт 13 июня 2017 г. 8:45 утра
Вы хотите сказать, какая доска и какой тип дисплея? Есть несколько.

Акронис
Вт 13 июня 2017 г. 13:46
3.2 -дюймовый TFT ЖК -экран с резистивными сенсорными экранами ILI9341 Дисплей Модуль
Специально для черной доски STM32F407VET6
https: // ru.aliexpress.com/item/3-2 дюйма ... Title = true

Chismicro
Вт 13 июня 2017 г., 17:53
Вы можете просто использовать шаблон в папке примеров.

В IDE
Файл -> Примеры -> Примеры платы STM32 для пользователей -> Black407ve

Акронис
Ср 14 июня 2017 г. 1:32
Привет.
Я попробовал этот пример.
Он налил без ошибок, но экран пуст .
В чем может быть проблема ?

Даниэфф
Ср 14 июня 2017 г., 4:06
Акронис написал:3.2 -дюймовый TFT ЖК -экран с резистивными сенсорными экранами ILI9341 Дисплей Модуль
Специально для черной доски STM32F407VET6
https: // ru.aliexpress.com/item/3-2 дюйма ... Title = true

Акронис
Ср 14 июня 2017 г., 4:30 утра
Хорошо. Спасибо. я постараюсь.

Chismicro
Ср 14 июня 2017 г. 7:02
Извините, Арконис, я не видел, что на дисплее есть параллельный интерфейс.
Мне очень любопытно, если он работает, и если так, было бы очень полезно добавить рабочее решение в папку «Примеры.

ZMEMW16
Чт 15 июня 2017 г., 17:40
два вопроса^h^h^h^h5
@Acronis
Вы заставили это работать ?
не могли бы вы поделиться файлом tftlcd H?

Стив
Когда вы говорите общий F407V, о которой вы думаете ? Черная схема F407VE? это совпадает

У меня есть мой черный F407V :) , дисплей пуст :(
Любые предложения ?
РЕДАКТИРОВАТЬ Ответ 2Q

Стивен

Пито
Чт 15 июня 2017 г., 17:55
У меня есть аналогичный дисплей, но с 40 -часами :(
Я сомневаюсь, что это подходит.. : P
@Stephen - ваш дисплей из ссылки на Acronis?

Стивестронг
Чт 15 июня 2017 г., 19:16
Я говорю о Black F4VET6.
У меня также есть мини -доска F4Vet6, но еще не проверял ее.
Я преобразовал ILI9486 SPI Diplay для 16 -битного параллельного доступа и использовал его с FSMC., Смотрите эталон здесь:
http: // www.STM32duino.com/viewtopic.PHP ... 150#P28314

ZMEMW16
Чт 15 июня 2017 г. 20:11
Они 32 способа, дисплей для черных плат F407 VE и ZE разъезжает, ZGT - это 34 -й Way Pin
есть еще одна разница в выходах, в&ze vers zg платы, не совсем уверен, как я это пропустил.

Я проверял схему F407VE против файлов библиотеки TFTLCD_16BIT, так как она была описана как общий F407, файл заголовка соответствует черной схеме F407VE.
Любопытно, что есть пара контактов, которые имеют смежную аннотацию «Zet».

Эта настройка требует установки Stevstrong Black_f4_variant Repo
Я попробовал графический тест, компилируется и имеет мигающий светодиод, включите фактические графические биты, а окно сообщений компиляции/ссылки становятся действительно оранжевыми.
не видит файлы заголовков, перечисленные в PIN_MAP.в
IDE также не хочет менять порт, только один - /dev /ttyacm3, настаивает на том, что отчеты /dev /ttyacm0 не существует. Несмотря на то, что я перезапустил его с отредактированными предпочтениями.TXT Установка его.

Прикрепленные заголовки / розетка, это графический.XCF, сжатый GZIP, разделенные на 3 части и переименованные в .текст
Я отметил комментарий KeyPunch о 3 файлах макс : D
Повторная сборка остается студенту : D
HDR-SKTAC.текст
(68.36 киб) скачано 19 раз

Акронис
Пт 16 июня 2017 г. 11:47
Привет. IDE 1.8.2, у вас есть библиотека, установленная Stevestrong, имеет библиотеки для 16 -битного параллельного дисплея и https: // github.com/stevstrong/adafruit_ ... 6bit_stm32 https: // github.com/stevstrong/arduino_s ... F4_variant . Пример Graphisctest. ошибка


В файле, включенном из C: \ users \ vic \ documents \ arduino \\ Библиотеки adafruit_tftlcd_16bit_stm32-master \ Примеры \ graphicstest \ graphicstest.Ино: 7: 0:

C: \ users \ vic \ documents \ arduino \ libraries \ adafruit_tftlcd_16bit_stm32-master \ src/adafruit_tftlcd_16bit_stm32.h в функции void writeCommand '(uint16_t)':

C: \ users \ vic \ documents \ arduino \ libraries \ adafruit_tftlcd_16bit_stm32-master \ src/adafruit_tftlcd_16bit_stm32.H: 64: 22: ошибка: «fsmccommand» не была объявлена ​​в этой области

#define lcdcommand (*fsmccommand)

^

C: \ users \ viktor \ documents \ arduino \ libraries \ adafruit_tftlcd_16bit_stm32-master \ src/adafruit_tftlcd_16bit_stm32.h: 68: 27 Примечание: в расширении макроа «lcdcommand»

#define writecmd (d) {lcdcommand = d; } // (l&0x00ff); }

^

C: \ users \ vic \ documents \ arduino \ libraries \ adafruit_tftlcd_16bit_stm32-master \ src/adafruit_tftlcd_16bit_stm32.H: 200: 2 Примечание: в расширении Macro WriteCmd "

writeCmd ();

^

Стивестронг
Пт 16 июня 2017 г. 12:49
Поскольку эта тема посвящена STM32Genric, разработанной Даниэлем, и моя филиал Generic_f4 основан на ядре Libmaple и не основан на этом, я бы посоветовал не ставят сюда, связанные с моей либером.

Поэтому, пожалуйста, опубликуйте проблемы, связанные с 16 параллельным дисплеем здесь или сделать новую ветку: ViewForum.PHP?F = 39.

Вопросы, связанные в целом для моего филиала, пожалуйста, опубликуйте здесь: http: // www.STM32duino.com/viewtopic.PHP?F = 39&T = 1976

Акронис
Сб 17 июня 2017 г. 12:24
Даниэфф написал:Акронис написал:3.2 -дюймовый TFT ЖК -экран с резистивными сенсорными экранами ILI9341 Дисплей Модуль
Специально для черной доски STM32F407VET6
https: // ru.aliexpress.com/item/3-2 дюйма ... Title = true

Chismicro
Вт 20 июня 2017 г. 8:54 утра
У нас есть новый участник репозитория STM322ERIER.

Он начинает интенсивно для поддержки STM32F429 Discovery.

Привет, huaweiwx : D

Rogerclark
Вт 20 июня 2017 г. 9:58 утра
Я проверил базу данных пользователей на форуме, и у нас нет участников с адресом электронной почты, указанным на GitHub (huaweiwx@sina.компонент) и у нас нет никого с Huaweiwx в качестве их имени пользователя

Наверное, лучше всего попробовать по электронной почте или связаться с ними с помощью выпуска GitHub в этом репо

Их адрес электронной почты на GitHub от этой компании http: // corp.Сина.компонент.cn/eng/sina_intr_eng.htm
В Китае

Я бы клонировал или развел этот репо как можно скорее, так как мы не знаем, кто они, они могли бы убрать его снова, и если бы не раздвоиться или клонировать, это будет потеряно

Tftlcdcyg
Пт. 08 сентября 2017 г., 19:07
Даниэфф Отличное ядро. СПАСИБО

Можно ли использовать в библиотеке SDFAT: SPI4, SPI5 или SPI6 в таких досках, как Discovery F429ZI?

В настоящее время только может использовать Fine SPI1, SPI2 и SPI3

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

michael_l
Ср. 04 октября 2017 г., 19:21
Привет, интересно, есть ли поддержка этой маленькой платы F407Vet6?

http: // stm32duino.com/viewtopic.PHP?f = 3 ... = 60#p28309

Мэнни
Пн, 01 января 2018 г., 20:27
[michael_l - Ср. 04 октября 2017 г., 19:21] - Привет, интересно, есть ли поддержка этой маленькой платы F407Vet6?

http: // stm32duino.com/viewtopic.PHP?f = 3 ... = 60#p28309

Я использовал black_f407ve и перезаписал вариант.c Файл с следующим, чтобы заставить Blue F407Ve Mini работать, пока я выясняю, как добавить доску..да, я прочитал вики :?
#include "stm32_build_defines.h" #include "stm32_def.h" void Error_Handler(); void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct; RCC_ClkInitTypeDef RCC_ClkInitStruct; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct; __HAL_RCC_PWR_CLK_ENABLE(); __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLM = 25; RCC_OscInitStruct.PLL.PLLN = 336; RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; RCC_OscInitStruct.PLL.PLLQ = 7; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { Error_Handler(); } RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) { Error_Handler(); } PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_I2S; PeriphClkInitStruct.PLLI2S.PLLI2SN = 192; PeriphClkInitStruct.PLLI2S.PLLI2SR = 2; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { Error_Handler(); } HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000); HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK); /* SysTick_IRQn interrupt configuration */ HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); }

michael_l
Пн, 01 января 2018 г. 20:48
[Мэнни - Пн, 01 января 2018 г. 20:27] -
[michael_l - Ср. 04 октября 2017 г., 19:21] - Привет, интересно, есть ли поддержка этой маленькой платы F407Vet6?

http: // stm32duino.com/viewtopic.PHP?f = 3 ... = 60#p28309

Я использовал black_f407ve и перезаписал вариант.c Файл с следующим, чтобы заставить Blue F407Ve Mini работать, пока я выясняю, как добавить доску..да, я прочитал вики :?
#include "stm32_build_defines.h" #include "stm32_def.h" void Error_Handler(); void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct; RCC_ClkInitTypeDef RCC_ClkInitStruct; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct; __HAL_RCC_PWR_CLK_ENABLE(); __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLM = 25; RCC_OscInitStruct.PLL.PLLN = 336; RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; RCC_OscInitStruct.PLL.PLLQ = 7; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { Error_Handler(); } RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) { Error_Handler(); } PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_I2S; PeriphClkInitStruct.PLLI2S.PLLI2SN = 192; PeriphClkInitStruct.PLLI2S.PLLI2SR = 2; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { Error_Handler(); } HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000); HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK); /* SysTick_IRQn interrupt configuration */ HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); }

michael_l
Пт 26 января 2018 г., 7:15 утра
Спасибо, Мэнни, твой вариант.C работает для меня с Blue F407Ve Mini Board.

Я также могу подтвердить, что SDIO работает.

Я также попробовал филиал Huaweiwx, но достаточно странно не сработал. Разнил код, и есть несколько небольших изменений, которые мне неизвестны.

Даниэль, я могу отправить запрос на привлечение изменений, необходимых для этого варианта, это хорошо ? Я добавил также меню Arduino IDE для этой доски.

Мэнни
Пт 26 января 2018 г., 8:50 вечера
[michael_l - Пт 26 января 2018 г. 7:15] - Спасибо, Мэнни, твой вариант.C работает для меня с Blue F407Ve Mini Board.
Я забыл, тебе нужно изменить настройку в досках.TXT в противном случае UART искажается из -за неправильной настройки часов.. DHSE_VALUE ORIGINALY 8000000 должен быть 25000000, Я также добавляю флаг -O3 для большей скорости ;)
BLACK_F407XX.menu.subboard.BLACK_F407VE=BLACK F407VE (V2.0) BLACK_F407XX.menu.subboard.BLACK_F407VE.upload.maximum_size=524288 BLACK_F407XX.menu.subboard.BLACK_F407VE.upload.maximum_data_size=131072 BLACK_F407XX.menu.subboard.BLACK_F407VE.build.variant=BLACK_F407VE BLACK_F407XX.menu.subboard.BLACK_F407VE.build.board=BLACK_F407VE BLACK_F407XX.menu.subboard.BLACK_F407VE.build.extra_flags=-DSTM32F407VE -DHSE_VALUE=25000000 -O3

michael_l
Пт 26 января 2018 г. 20:58
[Мэнни - Пт 26 января 2018 г. 8:50 вечера] -
[michael_l - Пт 26 января 2018 г. 7:15] - Спасибо, Мэнни, твой вариант.C работает для меня с Blue F407Ve Mini Board.
Я забыл, тебе нужно изменить настройку в досках.TXT в противном случае UART искажается из -за неправильной настройки часов.. DHSE_VALUE ORIGINALY 8000000 должен быть 25000000, Я также добавляю флаг -O3 для большей скорости ;)
BLACK_F407XX.menu.subboard.BLACK_F407VE=BLACK F407VE (V2.0) BLACK_F407XX.menu.subboard.BLACK_F407VE.upload.maximum_size=524288 BLACK_F407XX.menu.subboard.BLACK_F407VE.upload.maximum_data_size=131072 BLACK_F407XX.menu.subboard.BLACK_F407VE.build.variant=BLACK_F407VE BLACK_F407XX.menu.subboard.BLACK_F407VE.build.board=BLACK_F407VE BLACK_F407XX.menu.subboard.BLACK_F407VE.build.extra_flags=-DSTM32F407VE -DHSE_VALUE=25000000 -O3

Мэнни
Пт 26 января 2018 г., 21:07
[michael_l - Пт 26 января 2018 г. 20:58] -
Кажется, Huaweiwx взял этот STM32GERIERIER
Вам пришлось сделать дополнительные шаги с установкой набора инструментов и т. Д. Или он скомпилировал для вас прямо из летучей мыши? Я использовал некоторые из его либеров, как rtclock 8-)

michael_l
Пт 26 января 2018 г. 9:10 вечера
[Мэнни - Пт 26 января 2018 г., 21:07] -
[michael_l - Пт 26 января 2018 г. 20:58] -
Кажется, Huaweiwx взял этот STM32GERIERIER
Вам пришлось сделать дополнительные шаги с установкой набора инструментов и т. Д. Или он скомпилировал для вас прямо из летучей мыши? Я использовал некоторые из его либеров, как rtclock 8-)
Нет, мне пришлось установить «предлагаемый» GNU Compiler 5.4 2016Q2 и модифицировать платформу.txt тогда он собирает ОК.

Мадиас
Пн 20 августа 2018 г. 15:23
Я попробовал версию Huawei и бросил ее в основном:
  • Установка - это боль (на OSX), потому что все пути теперь связаны с окнами и не распространены (я потратил 2 часа, чтобы работать на работу)
    Многие примеры F407 (черные) не работают (даже эти примеры, которые работали с версией Daniels)
    Там нет поддержки или взаимодействия с Huawei (возможно, языковая проблема?)
Я думаю, что это хороший пример, если проект - это просто «шоу одного человека».
Похоже, что Кризмакро - единственный, кто развивает Даниэльс «наследие»?
Я думаю, для STMF4 *** Это ядро ​​лучше всего адаптировано (на данный момент я не знаю, развивает ли Стив дальше...)

Вопрос: кто-то написал SD-карту (SDIO или SPI) в пример массового хранения? Обе вещи работают для меня: SDIO Card и Flash-Mass-хранение, но я не могу получить связь между ними...

Chismicro
Пн 20 августа 2018 г., 18:04
[Мадиас - Пн 20 августа 2018 г. 15:23] - ...
Там нет поддержки или взаимодействия с Huawei (возможно, языковая проблема?)[/список]
Я думаю, что это хороший пример, если проект - это просто «шоу одного человека».
Похоже, что Кризмакро - единственный, кто развивает Даниэльс «наследие»?
...
Да, время от времени я добавляю немного мелочей в репо. Для E.глин. Последнее была поддержка ЦАП, которую я видел в репо Хуавей.
Я просто делаю незначительные изменения и стараюсь не получить поврежденного примера. В Huaweis Repo так много вещей, но в конце концов он, кажется, не проверяет, вызывают ли новые изменения некоторые неисправности со старыми примерами. Кажется, у него нет тестирования интеграции.

Я думаю, что какой -то человек, который играет «интегратора», понадобится ...

Мадиас
Пн 20 августа 2018 г., 18:31
[Chismicro - Пн 20 августа 2018 г. 18:04] - Я думаю, что какой -то человек, который играет «интегратора», понадобится ...
Не единственное, но множественное число. Многие люди нужны для тестирования таких вещей...Это причина, по которой Libmaple Core Works Rogers's Libmaple: с 2014/2015 годы многие люди инвестировали часы работы и тестирования - часто один шаг вперед и два назад (и наоборот). Результатом является действительно удивительное ядро ​​(даже построенное на старом либмапле) с оптимизированными функциями и совместимостью, но с одним недостатком: только F103xxx действительно хорош в поддержке.
F4 отличается: не так много пользователей «играют» с ним, действительно дешевые доски на рынке с 2017 года (это было прайм-тайм здесь). Так что это то, что у нас есть (я говорю за доску Black Vet STM32F407, как «справочная» доска здесь):
Ядро Даниила: хорошая и солидная основа, основанная на STM32GERIERIER, но, похоже, Даниэль потерял интерес к нему. Вы - единственный «активный» пользователь, поддерживающий это ядро ​​(с «духом» STM32DUINO: не так уж много вещей за один раз и поддерживать совместимость)
Ядро Стива, также твердое и стабильное на основе Libmaple, но не так полное, как у Даниэля (например, HID HID). Я не знаю о дальнейших планах Стивеса.

Кстати: Крис: Есть ли у вас подсказка о SD-карту и массовом хранении?

Матиас

Sheepdoll
Вторник 21 августа 2018 12:27
Я держу материал STM32 в списке для выполнения. Я обнаружил, что когда я играл с Ардуино и Хэл, что я создал среду затмения для отладки. Тогда было не так уж много смысла в работе на стороне Ардуино. Даже с AVR я склонен писать в ASM или C. Самое сложное - это не отставать от версиитиста. После некоторой прокрастинации я наконец установил высокую Sierra на своей главной машине. Затем мне пришлось установить новый код X, а затем переустановить Macports, чтобы вернуть GIT обратно. Теперь я вижу, что есть обновление для Cubemx. Я думаю, что в последний раз, когда я пытался обновить систему Workbench (Eclipse), он потерпел неудачу через час или около того.

Нет никаких причин, по которым мой код не должен работать на STM32F4, это довольно просто. Немного избитый магистр RS485 и I2C, подключенный к DS1307 RTC, чтобы побороть файлы. Я использую таймеры Semaphore на AVR (который опросывает семафор) в качестве времени критического. Я получил TFT, работая над AVR прошлой зимой. Итак, все кусочки головоломки на месте.

В наши дни кажется больше таких, как тестирование и интеграция, где вещи, как правило, падают на обочине для отдельных пользовательских проектов. Инструменты все больше и более разработаны для рабочих групп и измерения. Мало чем отличается от средневекового сценария, где все писцы сидят в кабинах, освещающих рукописи, пока священники следят за. С епископами, наблюдающими священниками и т. Д. и т. д. и т. д. Некоторые вещи просто никогда не меняются.

Chismicro
Вторник 21 августа 2018 г., 4:25
[Sheepdoll - Вторник 21 августа 2018 12:27] - ....
В наши дни кажется больше таких, как тестирование и интеграция, где вещи, как правило, падают на обочине для отдельных пользовательских проектов. Инструменты все больше и более разработаны для рабочих групп и измерения.
..
Это именно то, что касается: часы, исправляя некоторую установку или обновляя их.
Именно так я использую Arduino Stuff: я не собираюсь проходить через это для каждого микроконтроллера.
Даже если я немного потерпел неудачу с этой попыткой: я потратил много часов в примеры STM32GENERIERE, потому что там ничего не было.
[Sheepdoll - Вторник 21 августа 2018 12:27] - ...
Я держу материал STM32 в списке для выполнения. Я обнаружил, что когда я играл с Ардуино и Хэл, что я создал среду затмения для отладки. Тогда было не так уж много смысла в работе на стороне Ардуино.
...
Было бы довольно приятно, если бы вы перешли на Arduino Side: больше людей может получить прибыль, чем от вашей работы, и вы можете сделать что-нибудь хорошее.

Chismicro
Вторник 21 августа 2018 г., 4:26 утра
[Мадиас - Пн 20 августа 2018 г. 18:31] - ...
Кстати: Крис: Есть ли у вас подсказка о SD-карту и массовом хранении?
...
Извините, к сожалению, нет. Надеюсь, некоторые из участников форума могут помочь ;)

Мадиас
Вторник 21 августа 2018 г., 19:10
Кстати: Huawei обновляет свою/ее резо каждый час :)
Но этот человек (или люди?) не (/не) робот, я открыл проблему, и через несколько минут он ответил решением:
https: // github.com/huaweiwx/stm32generic/uppess/5
Конечно, я буду следить за этим, может быть, в будущем могут быть некоторые полезные вещи.

Мадиас
Вторник 21 августа 2018 г., 21:54
[Chismicro - Вторник 21 августа 2018 г. 4:25] -
[Sheepdoll - Вторник 21 августа 2018 12:27] -
Крис, Sheepdoll: Получил любой из вас MIDI USB для работы над общим ядром?
Я думаю, что стандартная библиотека MIDI https: // www.STM32duino.com/viewtopic.PHP?t = 8 должен также работать для серийного класса MIDI без проблем, но как насчет USB-MIDI?
Все, что я нашел, это * очень * универсальный код:
https: // github.com/sebseb7/stm32-midi-demo
«Грязный взлом» будет настраиваться на серийном MIDI STM32F4, соединенном с синей таблеткой (как интерфейс USB MIDI, без электронного «MIDI» (OptoCoupler...)) с «MIDI USB» (тем временем как «стандартная» библиотека под «примерами массового хранения»). Расходы до 2 евро/доллар США и с преимуществом не занять порт USB F4. В прошлом я работал на своем проекте синтезатора The ForteSeveneffects Midi Library & USB MIDI на одном и том же чипе без проблем (F1 Leaflabs Core).

Mrburnette
Ср 22 августа 2018 г. 12:49
Chismicro написал: Вторник 21 августа 2018 г., 4:25

Мадиас
Ср 22 августа 2018 г., 5:30 утра
[Mrburnette - Ср 22 августа 2018 г. 12:49] - Мое мнение:
Как и в горе, «в конце концов, может быть только один." ... Вот почему я думаю, что будущее STM32Duino с официальным ядром STM32, которым управляет Фредерик Пиллон. STM ставит свой бренд за этим основным и денежным ресурсом. Я слышал, как Фредерик говорил о регрессионном тестировании, так что это наиболее обнадеживающе.
Я также чувствую, что старое ядро ​​Leaflabs было накачено примерно до разумного; F1XX в 2018 году становится длинным в зубцах. Это все еще отличный 32-разрядный UC, как старый 8-битный Atmega328p, но ядро ​​Leaflabs-Roger нужно поместить в режим «Только для разрыва».

Новыми пользователями следует поощрять перейти на официальное ядро ​​STM32.

Луча
Рэй, я не буду противоречить этому в целом.
Я стараюсь тщательно спорить, в этом проекте есть тысячи рабочих часов (я сам был сильно вовлечен, особенно в первые дни 2015/16)
Leaflabs Core (я говорю для F1) достаточно хорош для «рабочих решений» в следующие годы, но даже после того, как это «ренессанс EOL», вызванный этим (STM32duino.com форум/проект/участники) он должен иметь конец.
Для меня у аппаратного обеспечения F1XXX есть свое место для небольших проектов, причина непревзойденной цены, энергопотребления и форм -фактора (Blue Pill, Maple Mini) - даже в ближайшем будущем.
Но я думаю, что не только новых пользователей следует поощрять перемещать :)

Так что это мое синее печатное мнение, которое должно быть внедрено в официальное ядро ​​(или мой x-mas-wishlist, я знаю, разные люди, разные потребности...):
  • Целая поддержка Blue Pill / Maple Mini (даже с USB ;) ) потому что все они владеют.
    Для STM32F4: Черная плата STM32F407VET в качестве компромисса (дешевый, широкий спред)
    Что -то вроде композитной библиотеки USB (коллекция) ARPUSS (коллекция), охватывающая все, как: массовое хранилище, сериал, MIDI, джойстик, клавиатура, потребитель) в качестве «скалолаза», показывающих реальные мышцы STM32 и сделать его «уникальным»
    Может быть, «разработка» ветвь на резо, так как игровая площадка слияет более быстрые входы пользователей и/или для тестирования

Мадиас
Ср 22 августа 2018 г., 7:51
Небольшое обновление:
STM32F407XX Black Board * будет добавлен в официальное ядро ​​в ближайшее время:
https: // github.com/stm32duino/arduino_c ... 2/pull/269
Итак, Рождество наступает в начале этого года...

Mrburnette
Ср 22 августа 2018 12:41
[Мадиас - Ср 22 августа 2018 г., 5:30 утра] - <...>
Для меня у аппаратного обеспечения F1XXX есть свое место для небольших проектов, причина непревзойденной цены, энергопотребления и форм -фактора (Blue Pill, Maple Mini) - даже в ближайшем будущем.
Но я думаю, что не только новых пользователей следует поощрять перемещать :)
<...>
Мой длительный опыт работы с форумами UC и связанной с ними внутренней динамики предполагает, что, как только участник прорывается через кривую раннего обучения, они становятся неохотно переходить на новые вещи, что является причиной, по которой я начал свое внимание с «новыми пользователями», поскольку они самые самые гибкий. Надеемся, что старшие участники увидят преимущества миграции без меня, чтобы объяснить важность такого шага: опытные члены могут предоставить очень ценные отзывы и опытную тестовую команду.

Я все еще использую Atmega 328p и даже Attiny85 в проектах, потому что эти устройства обладают уникальными свойствами, которые делают их идеальными в некоторых дизайнах. Нет разницы с устройствами STM32F1XX... Используйте их, когда и где они имеют смысл. У каждого активного пользователя есть копия ядра на локальном ПК; Никто не заберет это!

Много лет назад мы с Роджером обсудили снижение цены на «доски таблеток» и растущее число членов форума. Необходимость «с нетерпением ждать» следующей реализации не является отражением того, где мы сейчас находимся. Но мы должны быть честными и отметить, что там, где мы находимся, нельзя сохранить на неопределенный срок. Я считаю, что наиболее логичный путь миграции - это STM, официально поддерживающая кодовая база.

Луча

Мадиас
Ср 22 августа 2018 г. 13:06
Сначала (если некоторые «новые» участники читают этот разговор):
В те дни начался проект STM32Duino, не было (законного) официального способа переноса STM32 в экосистему Arduino - это причина для кленового ядра. (Leaflabs сделал все «вручную»)
После моего перерыва около 3 лет я полностью столкнулся и раздражен с разными ядрами и многими изменениями (например, SPI).
В нашей фазе Sturm и Drang мы перенесли (или переписали) каждую библиотеку в проект, и многие из них находятся в Repro (сегодня без функциональности, вызванных основными или дополнительными обновлениями библиотеки)
С другой стороны: STM32 теперь является «реальной» частью системы Arduino Eco (не только из -за ядров STM32, но и других официальных досок Arduino, таких как Star Otto (хорошо, может быть, худший пример...)- Так много сторонних библиотек работают «из коробки» или с небольшими изменениями с STM32 (даже адафруиты).

Чтобы сохранить целое рабочее ядро, лучше всего настроить виртуальную машину, потому что две вещи изменится:
IDE, The Arm Toolchain, The Repro, сторонние библиотеки и все, что я забыл. Это также приведет к тому, что Libmaple Core «актуально» и работает - почти невозможное начинание

Так:
[Mrburnette - Ср 22 августа 2018 12:41] - Но мы должны быть честными и отметить, что там, где мы находимся, нельзя сохранить на неопределенный срок. Я считаю, что наиболее логичный путь миграции - это STM, официально поддерживающая кодовая база.
Я согласен и глотаю таблетку (по крайней мере, для F4 ;) )
Матиас

ZMEMW16
Чт 23 августа 2018 г. 12:37
@Ray +1
SRP

Chismicro
Чт 23 августа 2018 г., 3:49
[Mrburnette - Ср 22 августа 2018 г. 12:49] - ....
Как и в горе, «в конце концов, может быть только один." ... Вот почему я думаю, что будущее STM32Duino с официальным ядром STM32, которым управляет Фредерик Пиллон. STM ставит свой бренд за этим основным и денежным ресурсом. Я слышал, как Фредерик говорил о регрессионном тестировании, так что это наиболее обнадеживающе.
...
Это кажется мне больше как теоретический, чем практический подход.
Мне не повезло с официальным ядром, и развитие кажется мне невероятном медленным.
Поправьте меня, если я ошибаюсь: но примеров для STM32 (кстати, кстати, до сих пор нет примеров (кстати, кстати. Только 2). Периферия STM32F7 до сих пор не поддерживается. Если я не буду выполнять обработку аудиосигналов, I2S все еще не поддерживается, и никакие прерывания таймера не доступны для обработки сигналов в реальном времени.
Это может быть попыткой придерживаться как можно ближе к официальной реализации, но нельзя использовать многие функции.
Если вы говорите, что будущее является официальным ядром, чем вы говорите, вероятно, о будущем через 10 лет, когда эти микроконтроллеры заменяются другими.
IT-технология немного о скорости развития. Тот, кто слишком медленный, будет устаревшим.

Мадиас
Чт 23 августа 2018 г., 5:23 утра
[Chismicro - Четверг 23 августа 2018 г. 3:49] - Мне не повезло с официальным ядром, и развитие кажется мне невероятном медленным.
Давайте суммируем вещи с "If":
Если мы все собираемся поддержать официальное ядро, чем идти по -своему, то скорость развития поднимется, разве это не? :)

Кстати: я также с i2s, USB-композит (USB MIDI)....

Sheepdoll
Четверг 23 августа 2018 г., 6:08
[Mrburnette - Ср 22 августа 2018 12:41] - ...
Я все еще использую Atmega 328p и даже Attiny85 в проектах, потому что эти устройства обладают уникальными свойствами, которые делают их идеальными в некоторых дизайнах.
...
Я согласен. Мне удалось несколько лет назад, чтобы решить мою основную проблему с MIDI с использованием Arduino Leonardo и Midiusb Library. Конечный результат был довольно простым.

Есть места, где STM32 может быть выгодным. Я хотел бы добавить поддержку ЖК -дисплея TFT. Как я отметил, что кусочки головоломки там, у меня просто не было времени, чтобы интегрировать и собрать их.

Время, вероятно, является главным фактором здесь. Что привлекает нас к наиболее вероятному варианту успеха.

Мадиас
Четверг 23 августа 2018 г. 9:12
[Sheepdoll - Четверг 23 августа 2018 г. 6:08] - Я согласен. Мне удалось несколько лет назад, чтобы решить мою основную проблему с MIDI с использованием Arduino Leonardo и Midiusb Library. Конечный результат был довольно простым.

Есть места, где STM32 может быть выгодным. Я хотел бы добавить поддержку ЖК -дисплея TFT. Как я отметил, что кусочки головоломки там, у меня просто не было времени, чтобы интегрировать и собрать их.

Время, вероятно, является главным фактором здесь. Что привлекает нас к наиболее вероятному варианту успеха.
Для всех вещей MIDI, Rogers Core с любой платой STM32F103XX (Maple, Blue Pill, RET, ветеринар...) Состояние искусства и без конкурентов:
Для USB MIDI просто используйте библиотеку USB -композитной библиотеки (Build In) и ознакомьтесь с совершенно простыми в использовании примеров MIDI. Нет необходимости в дополнительных библиотеках, которые я портировал раньше.
Для HW Serial MIDI просто включает в себя библиотеку MIDI сорокаляризации -> https: // github.com/fortyseveneffects/ar ... di_library
Я смешал оба вместе без проблем. Итак, у вас есть по крайней мере: 2-3 серийных MIDI и 1x USB-MIDI в одном маленьком устройстве (например, BluePill) и множество контактов для сенсорного дисплея (например, ILI9341 с прикосновением), ручки, кнопки-что вам нужно, все было сделано раньше и хорошо задокументировано на этом форуме.

Thekikgen взломал Miditech 4x4 (содержит STM32F103XX) и написал совершенно новую прошивку:
ViewTopic.PHP?F = 19&T = 3386&hilit = midi+интерфейс

Это была моя быстрая демонстрация (несколько лет назад): последователь TFT Touch Step MIDI USB Step Sequencer только с одним прикосновением ILI9341 и Maple Mini:
https: // www.YouTube.com/watch?v = -jvcrhck7wq

Мадиас
Чт 23 августа 2018 г. 11:28
Но остаться на теме:
Я сделал несколько тестов с моим Черный STM32F407VET Board, С моим «стандартным испытательным оборудованием»: ILI9341 SPI:
Дэниелс Корн: Работает идеально.
Ядро Huawei: компилируется, загрузите ОК, но ничего, Даже серийный выход. Кажется, ядро ​​Huawei полностью нарушено для этой доски
Официальное ядро ​​STM32: компили, без USB -вывода (еще не реализовано) и невероятно медленно! Я не знаю, происходит ли это с неправильной скоростью SPI или системными часами.

Sheepdoll
Че 23 августа 2018 г., 17:21
[Мадиас - Четверг 23 августа 2018 г. 9:12] - Для всех вещей MIDI, Rogers Core с любой платой STM32F103XX (Maple, Blue Pill, RET, ветеринар...) Состояние искусства и без конкурентов:
Для USB MIDI просто используйте библиотеку USB -композитной библиотеки (Build In) и ознакомьтесь с совершенно простыми в использовании примеров MIDI. Нет необходимости в дополнительных библиотеках, которые я портировал раньше.
Спасибо за обновление. Однако в настоящее время я сосредотачиваюсь на STM32F4 и STM32F7. Со следам нуклео (Disovery). (Возможно, некоторые из STM32L0 (Discovery), который имеет поддержку Epaper.)

Мне нравится иметь отдельную либера. Одна вещь, которая мне не нравится в композитных библиотеках Lufa USB, это то, что он пытается быть всем. Он также предназначен для создания с помощью файлов make. Предоставлен хорошо продуманный библиотечный линкер только импортирует код, необходимый для приложения. Я всего лишь тот, который не доверяет библиотекам, которые я не вижу внутри. Я все еще люблю считать свои биты, байты и циклы исполнения.

Было бы неплохо иметь хорошую USB -либера. В настоящее время на стороне AVR я использую Fatfs Elmchan для поддержки SD через Adplaware SPI. Программный сериал для RS485 Comms, программного обеспечения SPI для регистров смены. Аппаратный сериал для последовательного пользовательского интерфейса.

Что я хотел бы добавить, так это дисплей TFD Touch для некоторых оснований пользовательского интерфейса и рабочих статистики. Я подозреваю, что синяя таблетка может справиться с этим. Я все еще думаю, что в ближайшем будущем будет идти с STM32F4.

Мадиас
Че 23 августа 2018 г. 18:09
[Sheepdoll - Четверг 23 августа 2018 г., 17:21] -

Что я хотел бы добавить, так это дисплей TFD Touch для некоторых оснований пользовательского интерфейса и рабочих статистики. Я подозреваю, что синяя таблетка может справиться с этим. Я все еще думаю, что в ближайшем будущем будет идти с STM32F4.
Это был мой (не по-настоящему закончен) 4-голос (волновой) синтезатор на основе платы STM32F103RET:
ViewTopic.PHP?F = 19&t = 533&hilit = синтезатор&начало = 40

Я содержит DAC SPI для всех аналоговых фильтров (8x), 2 кнопки I2S (2x2 = 4 голоса), Potis, MIDI (серийный и USB), дисплеи (!) (OLED и более крупный) и волновое поколение в реальном времени (не простая форма волн!) 2x на каждом генераторе, так что 8 в общем. Это было сделано с 72 МГц F1, и ограничение скорости MCU не было проблемой (больше моего времени, но проект находится в моем списке Todo, когда мои дети достаточно взрослые, и я получу больше времени).
Так что даже F1 будет справляться с очень большим количеством вещей, даже без FPU :)

Chismicro
Пт 24 августа 2018 г., 3:51
Это был мой (не по-настоящему закончен) 4-голос (волновой) синтезатор на основе платы STM32F103RET: Хороший. Вы, кажется, очень синтезизаторы. Я не знал этого, поэтому я прошел разные эксперименты с чертежом с различными DAC-методами:
https: // github.com/chrismicro/bluepillsound

Но тем временем я перешел на F4 из -за скорости и плавающей запятой.
Следующим шагом будет использование H743 с 400 МГц.

На данный момент я играю с этим генератором патча:
https: // github.com/esptiny86/espsynth86
Эта штука действительно многообещающая, потому что с генератором патча вы можете генерировать C-файлы, которые могут быть непосредственно использованы для составления компиляции.
Тем временем я переработал его и скоро запустим его на F4, а затем, надеюсь, на H7.

Мадиас
Пт 24 августа 2018 г. 8:03
[Chismicro - Пт 24 августа 2018 г. 3:51]] -
Крис -> Премьер -министр :)