我也是个老古董了,虽然知道有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.
丢进去,就等于编程这货了.
还支持右键,然后导出到Keil.
导出后,发现有库耶.
然后发现打开编译就报翔了.后来发现原来是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;
  }
}
打开左侧,有串口库,双击进入,看到库介绍.
此处设置波特率:
于是我们程序就可以这么做了:
#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了.
话说该赞一个,这个Nucleo的仿真器,改用F103RBT6做[不是C8T6],多了串口仿真和U盘下载功能.







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