微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 实验一 LED灯闪烁实验

实验一 LED灯闪烁实验

时间:10-02 整理:3721RD 点击:
【NUCLEO-F412ZG试用体验】实验一 LED灯闪烁实验
实现LED闪烁是最基础的实验,打开IAR,打开实验0创建的开发目录文档中的唯一的项目:mbed411Blink,项目中有许多
文件夹,眼花缭乱。但注意许多文件夹是底层设置,与开发者暂时无关。在项目中新建一个文件夹incs;调试在项目的
根文件夹中也创建目录incs,此文件夹捡来存放自己设置的诸如LCD等设置类或方法等.h文档。
本实验所牵涉的可以更改的文件夹和文件今后需要常常用到,当然根据不同的模块,会有对应的1~n个文档需要更改呵设
置。
首先看他的主程序main.cpp,好简单,只有区区几行:
#include "mbed.h"

DigitalOut led1(LED1);

// main() runs in its own thread in the OS
// (note the calls to Thread::wait below for delays)
int main() {
    while (true) {
        led1 = !led1;
        Thread::wait(500);
    }
}

1. 设置属性,右击项目最上一行Option.../Genelar Options/Device/下拉选择实际芯片 ST TMS32F411ZG;图10
2. 单击Runtime Checking/C/C++ Compiler/Preprocessor下的/Additional include
directions: (one per line)/中将刚才设置的incs目录加上,以后会用到的;图11
3. 单击Debugger/Setup/Driver/下拉选择ST-LINK;图12
4. 单击ST-Link/按照 图13 设置即可。
5. 设置好的工程项目见 图14。
6. 项目目录,打开main.cpp/打开main.cpp的+号/找到PinNames.h文档/双击打开/可以看到所有已经设置好了的各个
GPIO端口名称,直接使用即可,下边还可以看到基于Arduino的GPIO口的设置名称。
如果使用LED1~3,首先需要更改的是:
LED1        = PB_0,//PA_5,
LED2        = PB_7,//PA_5,
LED3        = PB_14,//PA_5,
LED4        = PA_5,//PA_5,
原先都为PA_5,需要按照上述更改,后边的注释以便恢复源程序。
7. 改完之后,进入main.cpp改为:
#include "mbed.h"
//Define LED GPIO
DigitalOut led1(LED1);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
// main() runs in its own thread in the OS
// (note the calls to Thread::wait below for delays)
int main() {
while (true) {
  led1=1;
  led2=0;
  led3=1;
  Thread::wait(200);
  led1=0;
  led2=1;
  led3=0;
  Thread::wait(200);
}
}
8.单击 编译按钮,如没有错误;图15;再单击下载程序按钮;图16;
9. 单机运行按钮,结果就出来了。图17;
结果见图18,19。

图10


图11


图12


图13


图14


图15


图16


图17


图18


图19


看着效果不错,这种单片机的优势是什么啊?

不错,期待小编开发出更好的作品

STM32F412ZG属于ARM4中基本型MCU,此板144管脚,有PA、PB、PC、PD、PE、PF、PG,每个有0~15个IO口,和PH3个IO口,速度标称可达100MHz,因为带PLL,因此应该可以超频。在做IO实验,感觉此片子的IO速度较快,驱显效果良好,其它目前正在摸索中,谢谢

谢小编,涨知识了~我玩的51板子也就是11M赫兹左右,相形见绌呢

上传图片方式请看这里:http://bbs.elecfans.com/jishu_429732_1_1.html

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top