STM32F103C8T6 Serial3

Тема в разделе "Arduino & Shields", создана пользователем TebEnkov2222, 29 июн 2019.

  1. TebEnkov2222

    TebEnkov2222 Гик

    Добрый день. Проблема с 3 сериалом. upload_2019-6-29_14-52-54.png
    Что я не так сделал? На плате есть 3 сериал, а как им тогда воспользоваться?
    Я уже статейки почитал. Там им пользуются. А я почему не могу? Что я не так сделал?
    C:\Users\teben\AppData\Local\Temp\arduino_modified_sketch_72922\sketch_jun29b.ino: In function 'void setup()':

    sketch_jun29b:2:3: error: 'Serial3' was not declared in this scope

    Serial3.begin(9600);

    ^

    exit status 1
    'Serial3' was not declared in this scope

     
    Последнее редактирование: 29 июн 2019
  2. TebEnkov2222

    TebEnkov2222 Гик

    Проблема решилась сменой IDE на версию 1.8.2
     
  3. ZAZ-965

    ZAZ-965 Гуру

  4. TebEnkov2222

    TebEnkov2222 Гик

    А как понять какое ядро я использую?
     
  5. TebEnkov2222

    TebEnkov2222 Гик

    Я так понимаю STM32 Boards
    Внимание: platform.txt из ядра 'STM32 Boards (STM32duino.com)' содержит устаревшие recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}", автоматически преобразовано в recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}". Ожидайте обновления ядра.
     
    Последнее редактирование: 29 июн 2019
  6. TebEnkov2222

    TebEnkov2222 Гик

    Проблема два сразу же. На новой версии прошивается. А на старой нет. Что делать?
    maple_loader v0.1
    Resetting to bootloader via DTR pulse
    Searching for DFU device [1EAF:0003]...
    dfu-util - (C) 2007-2008 by OpenMoko Inc.
    This program is Free Software and has ABSOLUTELY NO WARRANTY


    Couldn't find the DFU device: [1EAF:0003]
     
  7. TebEnkov2222

    TebEnkov2222 Гик

    После обновления ядра новая версия и вовсе не запускается. А старая так же на зло говорит что 3 сериала нету. Что я не так делаю?
    Делал по этой инструкции. От туда же и скачал ядро.
     
  8. ZAZ-965

    ZAZ-965 Гуру

    В Arduino IDE микроконтроллер STM32F103 поддерживают https://github.com/rogerclarkmelbourne/Arduino_STM32 и https://github.com/stm32duino/Arduino_Core_STM32 У вас, судя по всему, первый вариант. Порядок установки https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Installation
    Arduino SAM boards (Cortex-M3) в менеджере плат установлен?
    Включите в настройках Подробный вывод компиляции.
     
  9. TebEnkov2222

    TebEnkov2222 Гик

    Конечно. Раньше же прошивалось все замечательно. До тех пор, пока не понадобился 3 ком порт
     
  10. TebEnkov2222

    TebEnkov2222 Гик

    upload_2019-6-29_21-12-12.png
    Вот. Ничего нового особо не увидел (новая так и не запускается). Сейчас поменяю еще раз ядро
     
    Последнее редактирование: 29 июн 2019
  11. ZAZ-965

    ZAZ-965 Гуру

    Выбран метод загрузки через Serial? Из board.cpp
    Код (C++):
    #ifdef SERIAL_USB
        DEFINE_HWSERIAL(Serial1, 1);
        DEFINE_HWSERIAL(Serial2, 2);
        DEFINE_HWSERIAL(Serial3, 3);
    #else
        DEFINE_HWSERIAL(Serial, 1);
        DEFINE_HWSERIAL(Serial1, 2);
        DEFINE_HWSERIAL(Serial2, 3);
    #endif
     
  12. TebEnkov2222

    TebEnkov2222 Гик

    Да
    И как это понять?
     
  13. TebEnkov2222

    TebEnkov2222 Гик

    То есть если выбран метод Serial, то тогда serial3 становится serial2. И так далее?
     
  14. ZAZ-965

    ZAZ-965 Гуру

    Да, если используете Serial для прошивки, то идет такая нумерация.
     
    TebEnkov2222 нравится это.
  15. TebEnkov2222

    TebEnkov2222 Гик

    А почему SoftwareSerial не работает на стм?
     
  16. b707

    b707 Гуру

    "На плате с тремя аппаратными Сериалами софтовый вряд ли кому-то понадобится" - это мнение Роджера Кларка, создателя ,интерфейса ардуино для СТМ32
     
    TebEnkov2222, DetSimen и Andrey12 нравится это.
  17. b707

    b707 Гуру

    Небольшая поправка. Погуглил и обнаружил, что библиотека SoftSerial для СТМ32 существует - но это просто "обертка" для хардового сериала. То есть софтовый сериал работает только на тех пинах, на которых у СТМ есть аппаратные сериалы. Может возникнуть недоуменный вопрос - "Нафига он тогда нужен?" - для совместимости, чтобы не переписывать те ардуино-библиотеки, которые используют софтовый сериал
    Вот ссылка на обсужение на сайте посвещенном ардуино для СТМ32:
    https://www.stm32duino.com/viewtopic.php?f=13&t=6
    (кстати, там еще очень много интересного, рекомендую )
     
    TebEnkov2222 нравится это.
  18. TebEnkov2222

    TebEnkov2222 Гик

    нужно ли менять прослушивание сериалов? У меня выдает ошибку, когда я пишу Serial2.listen();
     
  19. b707

    b707 Гуру

    аппаратных? или софтовых?
     
  20. TebEnkov2222

    TebEnkov2222 Гик

    аппаратных. На софтовых работала эта штука, а тут бац, и ошибка! :(