Arduino IDE и STM32F103CBT6

Тема в разделе "Arduino & Shields", создана пользователем kama, 18 окт 2016.

  1. ostrov

    ostrov Гуру

    То есть, после перепайки на встроенном USB появляются первые RX-TX? Просто я сейчас далеко от паяльника, проверить на практике не смогу в ближайшую неделю.
     
  2. ZAZ-965

    ZAZ-965 Гуру

    @kama, посмотрел в закромах - у меня и такая платка имеется (вот до чего жадность доводит)
    Плата успешно прошилась как Maple Mini + Bootloader original
     

    Вложения:

  3. ZAZ-965

    ZAZ-965 Гуру

    @ostrov, глубоко не копал, но вроде как создается virtual com port, доступный из Arduino как Serial и доступны еще три аппаратных Serial1-Serial3
    P.S. может пора создать отдельную ветку для складирования разборок с готовыми STM32F103 отладочными платами.
     
  4. Radius

    Radius Гик

    Поддерживаю. Тоже взял такую платку. По совету ZAZ перепаял резистор и перепрошил загрузчик. Плата стала определяться как Maple. Попробовал программировать в Arduino IDE, получается. Но я привык отлаживаться через ST-link. Пока нет времени заниматься с этой платой дальше, сейчас осваиваю ESP8266.
     
  5. kama

    kama Нуб

    спасибо, сделал как у тебя настройки инструментов-заработало
     
  6. ostrov

    ostrov Гуру

    Может быть пора админов просить о создании ветки "микроконтроллеры STM"? Вроде бы тематике форума она не противоречит, а поделиться есть чем и обсудить есть что.
     
  7. Onkel

    Onkel Гуру

    кстати про f103- посмотрел сигналы ацп с двух дешевых брейкбордов, хрень какая, во:
    ADC_Noice00.jpg
    Проверил на разных discovery (100, 051, 407)- все четко, ± 1 разряд. Что делать - не понял, и плату всю обкладывал кондерами (выглядела как ёжик), и питал аккумулятором - ацп шумит хоть тресни. Может у кого есть наработки, вроде напайки кондера прямо на чип?
     
  8. ostrov

    ostrov Гуру

    MCP3008 как на этом фоне выгдядит? Если возможность есть не могли бы проверить? В паре с той же F103 хоть.
     
  9. Onkel

    Onkel Гуру

    это сильно схемозависимо. На моем примере видно же- тот же чип, а разница почти порядок.
     
  10. ZAZ-965

    ZAZ-965 Гуру

    Нда, ожидаемо. У синей платки китайцы упростили цепи питания и информации о RT8183-В нет никакой. BluePillPower.png
    Onkel, поделитесь кодом для тестирования - попробую на своих.
     
  11. Onkel

    Onkel Гуру

    пишу код на mdk keil 4. Если вы вгрузите мой hex, вы снесете свой бут.
    Код у меня простой - опрос 4 пинов adc1, потом опрос 4 пинов adc2, и вывод всех значений в uart1. При этом пробовал включать и выключать тактирование чуть ли не всей периферии, разницы не заметил. Ну так решил - если нужен серьезный мк, то буду делать на f407, благо они есть на Disco, ну а если фигню, то на этих breakboard.
     
    Последнее редактирование: 23 окт 2016
  12. Onkel

    Onkel Гуру

    Еще важный вопрос - ни у кого нет под руками teensy 3.x (3.2 например), как у нее работает ацп в 12 р режиме, насколько сильно шумит? А то breakboard на f103, как видно, прямо с коробки ни на что не годится, а возиться это еще не факт что такой ужасный шум можно будет победить. Вот думаю может teensy 3.2 попробовать, но брать за 2.5 тыр - дело немелкое, может есть у кого, можете вроде моих данных данные по ацп на десятке- другом килосэмплов привести?
     
  13. Neilon

    Neilon Нерд

    Привет!
    Изучил видео и статью «Дешевая STM32 плата + Arduino IDE UPD 15.07.2016» на гиктаймс (https://geektimes.ru/post/277928/), всё хорошо описано. Делаю всё в точности как в статье, но получается один косяк.
    После того как успешно залил бутлодэр в плату stm32 (у меня такая же как в статье и адаптер такой же), возвращаю перемычку, подключаюсь через usb разъём платы, ставлю драйвера, оба ставятся успешно, в диспетчере обнаруживается «Maple DFU», а COM порт новый не появляется, соответственно не могу выставить в ArduinoIDE com порт. Пробовал на разных компах, на winXP, 7, 8.
    Буду очень благодарен за помощь!!!
    Скриншот 2016-11-28 12.30.05.png
     
  14. Neilon

    Neilon Нерд

    Вопрос всё ещё очень актуален! Есть у кого-нить хотя бы предположения или идеи в какую сторону копать?
     
  15. ZAZ-965

    ZAZ-965 Гуру

    @Neilon, резистор в цепи USB на 1,5 кОм перепаивали? См. раздел Hardware installation в Wiki
     
  16. Neilon

    Neilon Нерд

    ZAZ-965, да, я сразу перепаял резистор R10 4,7к 0603 на 1,5к 0805, подтягивающий PA12 к +3,3V, прозвонил.

    У меня сейчас такие мысли:
    Может я не тот бутлодэр шью? Я заливал файл "generic_boot20_pc13.bin", брал из архива к статье и с гитхаба у разработчика (https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/STM32F1/binaries)

    Ещё нашел, разработчик (RogerClark) на форуме (http://stm32duino.com/viewtopic.php?t=32#p2618) писал:
    "PS. Yes, I know ideally the Maple Serial device would be part of the bootloader, but this causes problems on some systems, hence leaflabs chose to separate the two functions and only have DFU in the bootloader and only have Serial in the Sketch"
    Не уверен, что правильно понял(перевёл), типо так и должно быть, в бутлодэре Serial не инициализирован, чтобы отобразился COM порт ещё надо чтобы был прошит скетч с инициализацией Serial на те выводы, где USB... Но ведь у чела на видео всё заработало, хотя у него об этом не слова)
     
  17. ZAZ-965

    ZAZ-965 Гуру

    На память не помню, и посмотреть смогу не раньше выходных, но попробуйте прошить простой скетч выбрав метод загрузки - STM32duino bootloader. По моему, загрузчик ищет не СОМ порт, а USB устройство с определенным VID/PID.
     
  18. Neilon

    Neilon Нерд

    Попробовал прошить пустой скетч,
    Код (C++):
    void setup() {}
    void loop() {}
     
    вот что пишет:
    Код (Text):
    Скетч использует 12 452 байт (19%) памяти устройства. Всего доступно 65 536 байт.
    Глобальные переменные используют 2 816 байт динамической памяти.
    java.lang.UnsupportedClassVersionError: CliTemplate/CliMain (Unsupported major.minor version 51.0)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$1(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
    выбранный последовательный порт     at java.lang.ClassLoader.loadClass(Unknown Source)
    не существует или плата не подключена к нему
    Exception in thread "main"
    Кстати, автор статьи (ссылка в моём первом посте), по которой я всё это делал, посоветовал попробовать во время загрузки держать кнопку Reset, это тоже не помогло.

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

    ZAZ-965 Гуру

    1. Действительно, STM32duino bootloader на STM32F103C8 (без аппаратного DFU) требует указания COM порта. При выборе неверного COM порта DFU загрузчик сообщает, что устройство не найдено, но Java никаких ошибок не выдает (Win 7 x86, свежепереустановленные IDE 1.6.13 и Arduino_STM32 )
    2. Загрузчик generic_boot20_pc13.bin не обновлял, у меня стоит от 15 мая 2016. На гитхабе в истории изменений последний с примечанием - "Speeded up bootloader to sketch transition using BKP" https://github.com/rogerclarkmelbourne/STM32duino-bootloader/commits/master/STM32F1/binaries/generic_boot20_pc13.bin - ускорение и перестройка не к добру.
    3. В wiki есть заметка о режиме вечного бутлоадера при подтяжке PC14 к 3,3В. Попробовал резистор 10кОм - ничего не изменилось.
    4. Версии MapleSerial драйверов меня такие
     

    Вложения:

    Последнее редактирование: 4 дек 2016
    Neilon нравится это.
  20. MadTosh

    MadTosh Нерд

    Сталкивался с проблемой необнаружения сом-порта Ардуино-иде. Тоже перелопатил весь гугл. Даже ставил с сайта Роджера Кларка некий Zadig(он переносит устройство с одного места, в частности Maple DFU конкретно в сом порт).
    У меня 2хW7 и W10. На стационарную машину(W7) сразу не встало, отнес на работу на ноут(тоже W7). Там сделал все тоже самое (вроде) что и на стационарной, но принудительно вгрузил скетч (blink из digital) и плата заработала! Определился сом порт, и далее нормально всё шъётся, читается, монитор порта рулится. Только после первого вгруза, надо сом порт дополнительно в Ардуино-иде галочку поставить.
    Долго терзал стационарный комп, резистор 2k впаял в параллель R10, не помогло.
    Втащил всё на W10. По-максимуму сделал всё то что и на ноутбуке. Заработала зараза.
    Далее начал разбираться с самой программой на машине дуино-иде. В строках где идет компиляция и возможные ошибки - вылетала строка - блаблабла не является командой или исполнительным файлом.
    В общем диагноз таков в моем случае: основной пользователь системы и единственный(кто бы подумал) имеет в названии знак амперсанда (&). Дуина иде, ищя компилятор по пути C:\Users\Пользователь... не понимает амперсанд и говорит - всему капут.
    Решено созданием второго пользователя с именем без амперсандов и переустановкой Ардуино иде, т.к. библы хранятся в папке конкретного пользователя системы.
    Как то так.
    P.S. И без резистора тоже всё работает.
     
    Neilon нравится это.