硬件平台: 任何支持 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 下载程序到目标板。
硬件平台: 任何支持 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 下载程序到目标板。
举报