NUCLEO-F429ZI 这一片开发板目前在 mbed 环境底下是还没有支持的:
不过目前 mbed 支持了 DISCO-F429ZI 开发板,这是一片带 LCD 的开发板,在使用相同芯片的情况之下我们还是可以选用 DISCO-F429ZI 开发板来设计 NUCLEO-F429ZI 开发板的程序。第一个程序我们先来实现一个最基础的 LED 闪烁功能,一个标准 mbed 上的 Blinky LED 程序如下:
#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 } }
编译后下载到板子上运行,我们并没有看到有任何的 LED 闪烁!这是为什么呢?原因是程序中 LED1 的定义并不是 Nucleo-144 板底任何一颗 LED 所连接的管脚,Nucleo-144 板底有 3 颗 User LED 分别是:
绿色的 LD1 接 PB0 (板底的 SB120 是短路的,接到 PA5 的 SB119 是断开的)
蓝色的 LD2 接 PB7
红色的 LD3 接 PB14
因此当我们将
DigitalOut myled(LED1);
改成
DigitalOut myled(PB_0);
就可以看到绿色的 LD1 开始闪烁。
DigitalOut myled(PB_7);
就可以看到蓝色的 LD2 开始闪烁
DigitalOut myled(PB_14);
就可以看到红色的 LD3 开始闪烁
3 个 LED 都会亮之后我们来实现一个流水灯程序:
#include "mbed.h" DigitalOut led1(PB_0); DigitalOut led2(PB_7); DigitalOut led3(PB_14); int main() { while(1) { led1 = 1; led2 = 0; led3 = 0; wait(0.2); // 200 ms led1 = 0; led2 = 1; led3 = 0; wait(0.2); // 200 ms led1 = 0; led2 = 0; led3 = 1; wait(0.2); // 200 ms } }