Всем привет! Появилась для экспериментов "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(а также других пинов) никак... что я делаю не так?) Возможно проблема в самой плате или в какой-то из перемычек?
такие же проблемы будут ис 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() ); } }
у меня другая проблема не могу поставить правильно дрова на ноут идет переполнение буфера СОМ порта ровна 16 кв а потом виснет Win7 ultimate
На форумах, проблемы с драйверами встречалась, пусть не такие как у Вас. Говорили, что после переустановки драйвера проблема исчезала. К примеру тут http://developer.mbed.org/questions/6336/Usb-serial-does-not-work-with-401re/ Драйвер тут или тут, они одинаковые. Вначале удалите старый, о том как это сделать, тут. Попробуйте, может проблема исчезнет, так же попробуйте другой компьютер и Usb порт. У меня такой платы еще нет, но с STM32F4Discovery проблем не было, прекрасный контролер. Единственный минус по габаритам, он огромный, хотя и STM32 Nucleo F401RE не мал.
уже это все перепробывал платки очень хорошие. у меня есть 401RE и 411RE на двух компах работают без проблем а вот на ноуте отказываются обе 16кб передали и бай бай. Ну и конечно не хватает детального описания.
Можно попробовать перенести драйвера с одного компьютера, при условии, что ОС одинаковые. Давно такое не делал, поэтому только искать в поисковике. По 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