ST-link V2 и STM32F103c8t6 запара

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем ostrov, 6 окт 2016.

  1. ostrov

    ostrov Гуру

    Нашел как в этой системе обращаться с портами максимально близко. Вот такая запись в loop обеспечивает период 1мкс:
    Код (C++):
    GPIOC->regs->ODR = 0xFF;
    GPIOC->regs->ODR = 0x00;
    Если же убиться перфекционизмом, то можно записать тоже самое так:
    Код (C++):
    GPIOC->regs->BSRR = 0x0000FFFF;
    GPIOC->regs->BSRR = 0xFFFF0000;
    в этом случае состояние порта не читается, а сразу модифицируется, что, кроме прочего, позволяет избегать логических операций. Период получился 0,5мкс, что уже на грани чувсвтительности моего простого осциллографа и, вероятно, вообще на пределе настройки скорости порта, который скорее всего в низком положении, то есть 2МГц. В любом случае это всего в 2 раза быстрее чем и без того шустрый в данной системе digitalWrite(), что говорит в пользу его значительно оптимизации. Думаю, что на этом пока можно остановиться. Плата реально бешеная по сравнению с 8 битным AVR.
     
    Последнее редактирование: 8 окт 2016
  2. ostrov

    ostrov Гуру

    Что то не пойму. Поставил ту же насадку на такой же IDE но на ноутбуке и оно отказывает в компиляции выдавая такое:
    Что я забыл?
     
  3. ostrov

    ostrov Гуру

    Разобрался. Дополнение берет за основу плату DUE на Cortex M3, ее тоже нужно установить.
     
  4. ostrov

    ostrov Гуру

    Все ножки работают кроме А7. Не помню чтобы я ее палил. То ли брак заводской, то ли спалил таки как то незаметно, странно и то и другое, на AVR такого не было пока ни разу.
     
  5. ostrov

    ostrov Гуру

    Ковыряю потихоньку эту сборку, нравится все больше. Надо, наверное, отдельную тему создать куда отчеты выкладывать и прочую информацию, так как ее пока маловато и она иногда противоречива. Кое что приходится узнавать опытным путем и править в схемах.
    [​IMG]
    [​IMG]
     
  6. Onkel

    Onkel Гуру

    я так понял вы на ide arduino программируете? А в чем смысл, если ардуино обещали фирменную stm32 плату выпустить? Я , например, для stm32 попробовал keil и iar, остановился на keil, поскольку осваивал stm32 для дела, для скорости, а на ide arduino какая скорость?
     
  7. ostrov

    ostrov Гуру

    Я тоже Keil выбрал (до 32Кб, само собой), но пробую и на IDE. Что примечательно, скорость практически такая же, в отличие от стандартной Ардуины. Да и ничто не мешает обращаться к регистрам напрямую.

    Что до фирменной платы Ардуино, так она уже есть, называется DUE. Цена на нее не впечатляет вообще.
     
  8. Onkel

    Onkel Гуру

    due это atmel sam3, это совсем другое. А что цена - клоны вполне себе приемлемы по цене, зато у atmel свои плюсы есть.
     
  9. ostrov

    ostrov Гуру

    Само собой плюсы и минусы есть у обеих вариантов. Например, мне не хватает у stm32 еепрома, а страничная запись во флеш кажется мне неудобной и вообще неправильной, да и ресурс там небольшой. Но stm32103c8t6 при цене Про Мини быстрее раз в 10 и имеет больше переферии, те же 3 аппаратные UART, что не может не заинтересовать.
     
  10. Onkel

    Onkel Гуру

    засада применения arduino ide имхо как раз в работе с прерываниями uart, надо или перелопачивать код или постоянно опрашивать, не пришел ли байт. Я stm32 заюзал как раз для скоростных применение (color kinetics, NRZ800, dmx), а там поллинг прихода байта вещь недопустимая, да еще если по 2-3 uart'ам. Так что при всем богатстве выбора у меня альтернативы нет - толькo кайл, но может iar, но у меня сразу keil пошел а iar не пошел, уж не знаю почему. Но keil мне по любому хватает и для 1хх, и для 4хх, даже для 051 писал код.
     
  11. ostrov

    ostrov Гуру

    Keil хорош, спору нет. Но нужно упихаться в 32кб, впрочем, это довольно много.
     
  12. Onkel

    Onkel Гуру

    у меня с таблеткой. Цена вопроса один тыр в Митино.