完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
硬件平台: 任何支持 mbed 的开发板(本笔记以 Nucleo-F030R8为平台)。
目的:学习 mbed 的 GPIO 输出,从 mbed 网页开发环境导出 keil 工程到本地磁盘。 Step1-Step5创建一个应用程序的开发,我已经在学习2中有详细的记录,这里就不在细说。本篇笔记详细分析程序。所以先导出工程到本地磁盘,方便查看相关文件。 [注:导出Keil工程并不是必须的步骤,在此只是为了方便查看mbed硬件平台相关的头文件PinNames.h。后续笔记描述中,也可能要查看该头文件] Step6.导出工程到本地磁盘。 在工程名称上点击右键,选择Export Program… 弹出对话框。 选择工具链为 UV5。 点击 Export,会弹出一个压缩文件下载另存为的对话框。修改路径点击保存。 Step 7.打开MDK工程,分析代码。 打开 main.cpp 文件,可以看到其中的代码非常简洁。 第 1 行包含头文件 mbed.h。 第 3 行创建一个数字输出对象,名称为 myled,映射到硬件平台的 LED1 引脚。在 main 函数中,控制 LED 闪烁。 要点1:如何创建一个数字输出对象,并用来控制 IO 输出状态。 因为 mbed OS 是用 C++编写的,里面涉及到了对象、类等概念。如果只学过 C++,可能会看不太懂。但基本不影响应用程序开发,根据例程编写代码,知道怎么用就行。像第 3 行一样,创建好 DigitalOut对象之后,就可以使用类似 myled=1;这样的语句来控制 IO 输出了,其中的 myled 是用户随便取的,符合 C 规则即可。 那么,第 3 行中的平台引脚都有哪些可用的值呢? 即“LED1”可用什么替换? 这可以查看平台硬件相关头文件 PinNames.h 的枚举类型 PinName。 仔细查看,可以发现 LED1~LED4 是同一个引脚 PA_5。 如果没有导出 keil 工程,也可以通过 Nucle-F030R8开发板的 mbed 主页,查看 Morpho header 的描述,了解可用的 GPIO。图中有白字/蓝底颜色的标签的就是 GPIO。 在 UV5 中开发环境中, 在 main 函数中输入“myled”再输入“。”就可以看到该对象可用的方法。 通过 mbed 网页开发环境,可以查看更加详细的说明,如下图: 要点2:延时函数 main 函数中调用了一个延时函数 wait()。该函数是 mbed OS 提供的三个延时函数之一。在 platform文件组中的 mbed_wait_api.h 可以查看其原型,延时的单位分别是 s、 ms 和 us。 Step 8 编译 UV5 工程,下载程序 编译完成,0错误,0警告。 设置调试器为 ST-Link,使用 SW 接口,即可通过 NUCLEO-F030R8 板载的 ST-Link 下载程序到目标板。 |
|
|
|
只有小组成员才能发言,加入小组>>
物联网工程师必备:怎么选择不同的无线连接技术,本指南帮你忙!
3283 浏览 1 评论
【DFRobot TinkerNode NB-IoT 物联网开发板试用连载】WIFI功能测试
3935 浏览 0 评论
【DFRobot TinkerNode NB-IoT 物联网开发板试用连载】Arduino的替代SublimeText3+STino
3442 浏览 0 评论
使用端口扩展器轻松高效地向IIoT端点添加具有成本效益的子节点
4004 浏览 1 评论
20681 浏览 11 评论
模组有时候复位重启后输出日志为“REBOOT_CAUSE_SECURITY_PMU_POWER_ON_RESET”的原因?
801浏览 2评论
1020浏览 2评论
1023浏览 1评论
1141浏览 1评论
380浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 20:27 , Processed in 0.709138 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号