STM32 Nucleo F401RE поморгать LED

Тема в разделе "Arduino & Shields", создана пользователем h1ma, 18 фев 2015.

  1. h1ma

    h1ma Нуб

    Всем привет!
    Появилась для экспериментов "STM32 Nucleo F401RE", решил попробовать маячек...
    прошиваю таким кодом:

    Код (Text):
    #include <mbed.h>

    DigitalOut led1(LED1);
    DigitalOut led2(D12);

    int main()
    {
        int i = 0;

        while(1) {
            for( i = 0 ; i < 4 ; i++ ) {
                led2 = !led2;
                wait(0.5);
            }
            for( i = 0 ; i < 4 ; i++ ) {
                led1 = !led1;
                wait(0.5);
            }
        }
    }
    led1 это диод на самой плате, led2 обычный светодиод подключен к пину D12. Диод на плате загорается, а вот на D12 нет, подавал просто с 3v3 и 5v -горит, а вот D12(а также других пинов) никак...
    что я делаю не так?)
    Возможно проблема в самой плате или в какой-то из перемычек?
     
  2. iliahz

    iliahz Нуб

    такие же проблемы будут ис DO не все пины доступны для прямого управления некоторые зарезервированы
    #include "mbed.h"
    #include <string>
    #define IOS (0xA0) // PA_5 + PA_7
    Timer t;
    DigitalOut RestPin(D6);

    class DIn_pin
    {
    public:
    // Конструктор класса Students
    DIn_pin(string name, PinName pin) : _DigitalIn(pin) {
    Name=name;
    }
    int read()
    {
    return _DigitalIn.read();
    }
    string Name1()
    {
    return Name;
    }

    private:
    DigitalIn _DigitalIn;
    public:
    string Name;
    };


    DigitalOut pc_activity(LED2);

    DIn_pin CN37("CN37",PA_3);
    DIn_pin CN35("CN35",PA_2);
    DIn_pin CN33("CN33",PA_10);
    DIn_pin CN31("CN31",PB_3);
    DIn_pin CN29("CN29",PB_5);
    DIn_pin CN27("CN27",PB_4);
    DIn_pin CN25("CN25",PB_10);
    DIn_pin CN23("CN23",PA_8);
    DIn_pin CN21("CN21",PA_9);
    DIn_pin CN19("CN19",PC_7);
    DIn_pin CN17("CN17",PB_6);
    DIn_pin CN15("CN15",PA_7);
    //DIn_pin CN13("CN13",PA_6);
    DIn_pin CN11("CN11",PA_5);
    //DIn_pin CN09(PA_3);
    //DIn_pin CN07(PA_3);
    DIn_pin CN05("CN05",PA_9);
    DIn_pin CN03("CN03",PB_8);
    DIn_pin CN01("CN01",PC_9);


    Serial pc(SERIAL_TX, SERIAL_RX);



    DigitalOut myled(LED1);


    int main()
    {
    pc.baud(115200);
    int i = 1;
    while(1) {

    if(pc.readable()) {
    pc.getc();
    pc_activity = !pc_activity;
    }
    wait(1);
    myled = !myled;
    pc.printf("This program runs since %d seconds.\n", i++);
    pc.printf("%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s\n",
    CN37.Name.c_str(),
    CN35.Name.c_str(),
    CN33.Name.c_str(),
    CN31.Name.c_str(),
    CN29.Name.c_str(),
    CN27.Name.c_str(),
    CN25.Name.c_str(),
    CN23.Name.c_str(),
    CN21.Name.c_str(),
    CN19.Name.c_str(),
    CN17.Name.c_str(),
    CN15.Name.c_str(),
    // CN13.Name.c_str(),
    CN11.Name.c_str(),
    //CN09.Name,
    //CN07.Name,
    CN05.Name.c_str(),
    CN03.Name.c_str(),
    CN01.Name .c_str()
    );

    pc.printf(" %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n",
    CN37.read(),
    CN35.read(),
    CN33.read(),
    CN31.read(),
    CN29.read(),
    CN27.read(),
    CN25.read(),
    CN23.read(),
    CN21.read(),
    CN19.read(),
    CN17.read(),
    CN15.read(),
    // CN13.read(),
    CN11.read(),
    //CN09.Name,
    //CN07.Name,
    CN05.read(),
    CN03.read(),
    CN01.read()
    );

    }
    }
     
  3. iliahz

    iliahz Нуб

    у меня другая проблема не могу поставить правильно дрова на ноут идет переполнение буфера СОМ порта ровна 16 кв а потом виснет Win7 ultimate
     
  4. Alex19

    Alex19 Гуру

    На форумах, проблемы с драйверами встречалась, пусть не такие как у Вас. Говорили, что после переустановки драйвера проблема исчезала.

    К примеру тут
    http://developer.mbed.org/questions/6336/Usb-serial-does-not-work-with-401re/

    Драйвер тут или тут, они одинаковые. Вначале удалите старый, о том как это сделать, тут.
    Попробуйте, может проблема исчезнет, так же попробуйте другой компьютер и Usb порт.

    У меня такой платы еще нет, но с STM32F4Discovery проблем не было, прекрасный контролер. Единственный минус по габаритам, он огромный:), хотя и STM32 Nucleo F401RE не мал.
     
  5. iliahz

    iliahz Нуб

    уже это все перепробывал платки очень хорошие. у меня есть 401RE и 411RE на двух компах работают без проблем а вот на ноуте отказываются обе 16кб передали и бай бай. Ну и конечно не хватает детального описания.
     
  6. Alex19

    Alex19 Гуру

    Можно попробовать перенести драйвера с одного компьютера, при условии, что ОС одинаковые. Давно такое не делал, поэтому только искать в поисковике.

    По mbed, не знаю, а вот по стандартным библиотекам DSP_StdPeriph, найти бы время, чтобы хотя бы вкратце познакомится со всем. Если будет интересно, почитайте, это на русском.

    Ну и конечно родной сайт
    STM32F411RE
    http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN1877/PF260049

    STM32F401RE
    http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN1810/PF258797

    Закладка Design Support
     
    Последнее редактирование: 11 мар 2015
  7. iliahz

    iliahz Нуб

    проблема была в системе переинсталировал, заработало