Output_open_drain поддерживается

Боян Митов
Пн 10 июля 2017 г. 18:48
Всем привет,

Я переключился на использование STM32Duino из:
http: // docs.Leaflabs.com/static.Leaflab ... gitalwrite

В библиотеке листа есть режим вывода output_open_drain, и я добавил его в Visuino https: // www.Висюино.компонент В качестве пирога предстоящей поддержки STM32 (надеюсь, в будущем поддерживает все доски STM32 :-) ).

Я не могу найти режим output_open_drain в STM32Duino . Какая альтернатива?

Ваше здоровье,
Boian

PS: Прошу прощения, я опубликовал его в нуклео вместо клена :-( . Если кто -то сможет переместить это, я бы очень признателен!

Стивестронг
Пн 10 июля 2017 г., 19:45
Используйте "output_od".

Боян Митов
Пн 10 июля 2017 г. 11:12
Не работает :-(
C: \ users \ mitov \ appdata \ local \ temp \ arduino_modified_sketch_780612 \ blink.INO: в функции 'void setup ()':

Blink: 27: ошибка: 'output_od' не был объявлен в этой области

pinmode (led_builtin, output_od);

^

Статус выхода 1
'Output_od' не был объявлен в этой области

Цель "Maplemini F103CB"

Предложения?

Стивестронг
Вт 11 июля 2017 г. 8:43 утра
Извините, я был неправ, вы должны использовать:
Output_open_drain
видеть:
https: // github.com/rogerclarkmelbourne/ ... E/IO.H#L47

https: // github.com/rogerclarkmelbourne/ ... F1.CPP#L51

Боян Митов
Вторник 11 июля 2017 г. 11:10
[Стивестронг - Вт 11 июля 2017 г. 8:43 утра] - Извините, я был неправ, вы должны использовать:
Output_open_drain
видеть:
https: // github.com/rogerclarkmelbourne/ ... E/IO.H#L47

https: // github.com/rogerclarkmelbourne/ ... F1.CPP#L51
Я получил библиотеки с менеджером совета директоров:
https: // github.com/stm32duino/boardmanagerfiles

так:
https: // github.com/stm32duino/boardmana ... индекс.json

Это неправильная библиотека? У него нет определения output_open_drain :-(
Какой из них является «официальной» библиотекой?

Fredbox
Ср. 12 июля 2017 г. 12:38
const uint8_t led_pin = 33; uint8_t led = 0; void setup() { pinMode(led_pin, OUTPUT_OPEN_DRAIN); } void loop() { digitalWrite(led_pin, led); led = 1 - led; delay(500); }

fpistm
Ср. 12 июля 2017 г. 7:45 утра
Привет,

Кажется, есть недоразумение вокруг используемого ядра STM32.
С этим:
https: // github.com/stm32duino/arduino_core_stm32
Установлено спасибо https: // github.com/stm32duino/boardmanagerfiles
Output_open_drain не определен, поэтому ваш эскиз не должен компилировать.
В этом ядре определяется только выход: и установите GPIO с помощью gpio_mode_output_pp (режим вытягивания вытягивания) и gpio_nopull (без вытягивания или активации выталкивания).
Следуйте Arduino Ссылка на PinMode: https: // www.Ардуино.cc/en/reference/pinmode
Возможно, мы могли бы расширить и предложить другой режим, пример: gpio_mode_output_od.

Я думаю, что вы используете ядро, предоставленное Роджером:
https: // github.com/rogerclarkmelbourne/arduino_stm32

Боян Митов
Ср. 12 июля 2017 г., 17:09
const uint8_t LED_PIN = 33;
uint8_t LED = 0;
void setup () {
pinmode (led_pin, output_open_drain);
}
...
Не работает с библиотеками, установленными в менеджере совета директоров.
Я следовал этим инструкциям, чтобы установить у менеджера доски:
https: // github.com/stm32duino/wiki/wiki/poards-manager

Вы можете увидеть ошибку при компиляции.
Я также могу вручную получить репозиторий, но я бы предпочел использовать менеджер совета директоров, так как клиенты Visuino придется следовать той же процедуре.
Один из пользователей уже планирует Wisuino Wiki Luperial по настройке Arduino IDE для компиляции для плат STB32Duino.
Будет добавлено в визино -вики:
https: // www.Висюино.com/wiki/index.PHP?title = main_page

Рик Кимбалл
Ср. 12 июля 2017 г., 17:51
@Boian mitov output_open_drain не поддерживается ядром STM32 от ST https: // github.com/stm32duino/arduino_core_stm32

Чтобы решить эту проблему:

o Вы могли бы добавить эту функцию в код.
o Вы можете попросить улучшить, создав проблему на GitHub
o Вы можете использовать ядро ​​Libmaple. https: // github.com/rogerclarkmelbourne/arduino_stm32
o Вы можете использовать другое ядро, которое поддерживает его http: // www.STM32duino.com/viewtopic.PHP?F = 42&t = 97

Боян Митов
Ср. 12 июля 2017 г., 19:56
[Рик Кимбалл - Ср. 12 июля 2017 г., 17:51] - o Вы могли бы добавить эту функцию в код.
Если я добавлю его, он будет включен в официальный релиз?
Я спрашиваю, как у меня есть около 23000 пользователей Visuino, согласно регистрации, и все они должны будут иметь к нему доступ к ней.
Я спрашиваю, как решить проблему для всех пользователей.
Эта функциональность, вероятно, важна и должна быть включена в официальную библиотеку IMHO ;-)

Рик Кимбалл
Ср. 12 июля 2017 г. 20:06
Я пропустил ту часть, где официальные доски Arduino поддерживают открытый утечку?
Какие доски Arduino поддерживают это ?

Рик Кимбалл
Ср. 12 июля 2017 г. 8:18 вечера
Если вы переходите от официального ядра Maple Labs на более новое ядро ​​STM32DUIN.

Libmaple Core (Roger's Repo) является обновленной версией кода Leaflabs для последней Arduino IDE.

ST Core только что добавила поддержку чипов STM32F1, и оно не полное или полностью протестированное и быстро меняется. Официальное Сент -Корт не будет иметь все расширения, которые вы найдете в ядре Libmaple. Это будет ванильный порт ядра Arduino и, вероятно, лучше всего будет работать с досками Nucleo. ST Core, вероятно, будет работать с более широким диапазоном чипов STM32. Он уже поддерживает некоторые из плат F0, L0, L1, F3, L4, F4.

Рик Кимбалл
Ср. 12 июля 2017 г. 8:51 вечера
[Боян Митов - Ср. 12 июля 2017 г., 19:56] -
[Рик Кимбалл - Ср. 12 июля 2017 г., 17:51] - o Вы могли бы добавить эту функцию в код.
Если я добавлю его, он будет включен в официальный релиз?
Я спрашиваю, как у меня есть около 23000 пользователей Visuino, согласно регистрации, и все они должны будут иметь к нему доступ к ней.
Я спрашиваю, как решить проблему для всех пользователей.
Эта функциональность, вероятно, важна и должна быть включена в официальную библиотеку IMHO ;-)
Вы понимаете, что STM32duino.com не коммерческое предприятие да? Вы должны прочитать о его происхождении на FAQ Вики. Вы понимаете, что пользователи здесь не будут предоставлять поддержку пользователям 23K пользователей? Основываясь на быстром взгляде на ваш продукт, я сомневаюсь, что ваши пользователи являются идеальными кандидатами, чтобы использовать любой из сердечников STM32.

Вы понимаете, что официальный порт ST едва ли используется здесь кем угодно? Это совершенно новое усилие, которое на самом деле не имеет никакого отношения к оригинальной миссии этого сайта, которая была посвящена обновлению Libmaple для работы с новой Arduino Ide. Вы понимаете, что официальный порт ST делается подрядчиком? Мне кажется, что основная цель официального ядра ST - поддержать доски ядер. Мы приветствуем их работу, поскольку она добавляет больше полной линейки продуктов STM32. Однако, поскольку он использует STM32Cubemx HAL, он несовместимо с ядром Libmaple и будет иметь много различий.

Боян Митов
Ср. 12 июля 2017 г. 9:02 вечера
[Рик Кимбалл - Ср. 12 июля 2017 г. 20:51] - Вы понимаете, что STM32duino.com не коммерческое предприятие да? Вы должны прочитать о его происхождении на FAQ Вики. Вы понимаете, что пользователи здесь не будут предоставлять поддержку пользователям 23K пользователей? Основываясь на быстром взгляде на ваш продукт, я сомневаюсь, что ваши пользователи являются идеальными кандидатами, чтобы использовать любой из сердечников STM32.

Вы понимаете, что официальный порт ST едва ли используется здесь кем угодно? Это совершенно новое усилие, которое на самом деле не имеет никакого отношения к оригинальной миссии этого сайта, которая была посвящена обновлению Libmaple для работы с новой Arduino Ide. Вы понимаете, что официальный порт ST делается подрядчиком? Мне кажется, что основная цель официального ядра ST - поддержать доски ядер. Мы приветствуем их работу, поскольку она добавляет больше полной линейки продуктов STM32. Однако, поскольку он использует STM32Cubemx HAL, он несовместимо с ядром Libmaple и будет иметь много различий.
Спасибо! Я, к сожалению, совершенно не знал об этом :-( .
Я совершенно новичок в модулях ST, только начал несколько дней назад с ними в течение последних 2 лет, я работал над Visuino, начиная с поддержки досок Arduino и медленно добавляя все больше и больше досок, с целью однажды в день Чтобы поддержать, по крайней мере, все популярные доски. Поддержка ST - моя последняя попытка покрыть доски. Я просто пытаюсь облегчить людям, не программируя знания, чтобы программировать любую доску, которую они хотят.
К сожалению, кажется, немного больше путаницы в отношении бардов на основе ST, чем в любом из других контроллеров, с которыми мне приходилось работать до сих пор :-( . Надеюсь, мы все найдем способ убедиться, что доски хорошо поддерживаются и просты в использовании. Я обеспокоен тем, что я уже сталкиваюсь с несколькими конкурирующими и не совсем совместимыми библиотеками для клена, и это только вызовет путаницу. Я попытался написать свою библиотеку Visuino, чтобы иметь возможность компилировать как с помощью ST, так и с библиотеками ST, так и с библиотеками LEAF, но я думаю, что должны быть более согласованные усилия, чтобы обеспечить общую совместимую поддержку Cores Arduino IDE :-(

Рик Кимбалл
Ср. 12 июля 2017 г., 21:37
[Боян Митов - Ср. 12 июля 2017 г. 9:02 вечера] - Я попытался написать свою библиотеку Visuino, чтобы иметь возможность компилировать как с помощью ST, так и с библиотеками ST, так и с библиотеками LEAF, но я думаю, что должны быть более согласованные усилия, чтобы обеспечить общую совместимую поддержку Cores Arduino IDE
Для пользователей, которые используют любой из чипов STM32F103, ядро ​​STM32Duino Libmaple на самом деле является лучшим выбором. Он имеет полуэффективные функции и большее время полета со многими пользователями, которые использовали его в течение последних нескольких лет. Leaflabs разработал это, потому что предложения St в то время не были дружественными с открытым исходным кодом.

С тех пор ST видела ошибку их способов и стал более дружественным к открытым исходным кодам с открытым исходным кодом. Теперь они предлагают STM32Cubemx HAL с гораздо более дружелюбной лицензией. Тем не менее, этот API имеет больше накладных расходов, чем их первоначальная стандартная периферийная библиотека или код Libmaple. Не то чтобы материал SPL был худым и подлым. STM32Cubemx и APIS SPL APIS обеспечить интерфейс высокого уровня для чипов, но они не сосредоточены на том, чтобы быть маленькими и эффективными.

Официальное ядро ​​Сент -Ардуино использует API STM32Cubemx HAL. Когда вы добавляете API ARDUINO API, он становится все менее и менее эффективным. Однако его цель состоит в том, чтобы обеспечить доступ к большему количеству чипов STM32 с тем же/аналогичным кодом.

Итак, в результате я не вижу слияния ни одного из ядер. Люди, которые хотят чего -то полуэффективного и, как оказалось, используют STM32F1, будут использовать ядро ​​Libmaple. Люди, которые хотят использовать STM32F0, STM32L0, STM32F3, STM32L3, STM32F4, STM32L4 или STM32F7, вероятно, будут искать официальный порт ST.

Стивестронг
Чт 13 июля 2017 г., 7:19
"Полу эффективен" ?

STM32L476RG