STM32F4-NUCLEO 上手体验

/ 1评 / 0

我也是个老古董了,虽然知道有Nucleo这个东西,像Arduino,以前有个民间的Maple,也有51 Duino.但是这个还是没试过.Blink的语法跟Arduino不太一样,如例子:

#include "mbed.h"
DigitalOut myled(LED1);
int main() {
    while(1) {
        myled = 1; // LED is ON
        wait(0.2); // 200 ms
        myled = 0; // LED is OFF
        wait(1.0); // 1 sec
    }
}

 编译后生成一个东西,要丢到U盘,类似OpenSDA.

QQ截图20151101195437

丢进去,就等于编程这货了.

QQ截图20151101195437

还支持右键,然后导出到Keil.

QQ截图20151101195437

导出后,发现有库耶.

QQ截图20151101195437

然后发现打开编译就报翔了.后来发现原来是Keil V5工程不行,打开时候可不要选了Keil V5 Update.因为我是Keil V5,无解了,不升级无法Debug工程.改改工程,加:

#include "mbed.h"
Ticker toggle_led_ticker;
DigitalOut led1(LED1);
void toggle_led() {
    led1 = !led1;
}
int main() {
    // Init the ticker with the address of the function (toggle_led) to be attached and the interval (100 ms)
    toggle_led_ticker.attach(&toggle_led, 0.1);
    while (true) {
        // Do other things...
    }
}

 我们打开一个串口例子:

#include "mbed.h"
Serial pc(SERIAL_TX, SERIAL_RX);
DigitalOut myled(LED1);
int main() {
  int i = 1;
  pc.printf("Hello World !
");
  while(1) {
      wait(1);
      pc.printf("This program runs since %d seconds.
", i++);
      myled = !myled;
  }
}

 打开左侧,有串口库,双击进入,看到库介绍.

QQ截图20151101195437

此处设置波特率:

QQ截图20151101195437

于是我们程序就可以这么做了:

#include "mbed.h"
Serial pc(SERIAL_TX, SERIAL_RX);
DigitalOut myled(LED1);
int main()
{
    int i = 1;
    pc.baud(115200);
    pc.printf("Hello World !
");
    while(1) {
        wait(1);
        pc.printf("This program runs since %d seconds.", i++);
        myled = !myled;
    }
}

这时候,就是115200bps了.

QQ截图20151101195437

话说该赞一个,这个Nucleo的仿真器,改用F103RBT6做[不是C8T6],多了串口仿真和U盘下载功能.

  1. yiluyingxiao说道:

    提前祝您新年快乐。
    乙未年(羊)冬月十九 2015-12-29

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注