Board logo

标题: NUCLEO-F429ZI 在 mbed 底下的编程 [打印本页]

作者: look_w    时间: 2018-1-24 20:18     标题: NUCLEO-F429ZI 在 mbed 底下的编程

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            }}




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0