国外课栈 - 国外电子信息技术视角栈

ARM Mbed入门

 二维码 26
文章附图

背景知识视频教程

硬件

  • Arm Mbed 以太网物联网入门套件
  • 微型USB电缆
  • 跳线面包板

软件

使用在线编译器时,虽然您不需要任何软件即可在Arm Mbed 设备上编译和运行应用程序,但是您确实需要一些软件来与设备通信。 根据您的计算机,您可能需要安装串行端口驱动程序和终端软件。

串行端口驱动程序

当您将mbed设备连接到计算机时,它可以显示为串行端口,也称为虚拟COM端口。 在Mac和Linux上,这将自动发生。 对于Windows,您需要安装串行端口驱动程序。

只需转到以下Windows串行配置网页(请参见链接),然后按照说明下载并安装串行端口驱动程序。

终端软件

您还需要安装终端软件,通过它可以接收数据并将其发送到mbed设备。 只需访问以下Arm Mbed “终端”网站(请参见链接),然后按照说明下载并安装终端软件。

有几种流行的终端软件可用。 在本文中,大多数示例都基于Microsoft Windows环境中的Tera Term终端软件(),因为Tera Term终端软件可以自动识别您的哪个串行端口。 mbed FRDM-K64F开发板已连接(下图)。

默认情况下,Tera Term仅在按“ Enter”键时发送“ \ r”(CR,回车)。 最好也将其配置为发送“ \ n”(NL,换行符),然后一旦收到“ \ n”,Arm Mbed 串行读取函数“ gets()”应终止。

要配置传输,请从“ Tera Term”软件菜单“ Setup”中选择“ Terminal…”。 然后将“发送:”配置为“ CR + NL”; 见下图

第一个程序:闪烁LED

Mbed连接到电脑

使用微型USB电缆将Arm Mbed FRDM-K64F开发板连接到计算机,板上有两个微型USB端口,使您可以使用右侧的一个USB接口,旁边是“重置”按钮(下图)。然后它将显示为标准USB存储驱动器,在这种情况下,它位于驱动器G中。

点击“ mbed.htm”登录

双击文件“ mbed.htm”,您的网络浏览器将打开“登录/注册”页面(下图)。 如果您有帐户,请登录; 如果您没有帐户,请按照说明进行注册。

或者,您也可以访问mbed开发人员网站,然后单击顶部的“编译器”菜单。

将FRDM-K64F平台添加到您的编译器

登录后,您将被重定向到FRDM-K64F开发板主页,其中包含设备的所有详细信息(下图)。 单击右侧的“添加到mbed编译器”按钮。 这会将FRDM-K64F开发板平台添加到您的编译器中,以便您可以开始为该设备编写代码。 每个Arm Mbed 开发板都是一个平台,因此您需要为不同的mbed开发板添加不同的平台。

导入现有程序

在页面的下方,有一个“打开现有项目”部分(下图)。 单击“导入程序”按钮,将现有的“ mbed_blinky”项目导入到编译器中。

默认项目名称为“ mbed_blinky”(下图),但是您可以将其更改为您喜欢的任何名称。 点击“导入”按钮,这将带您进入在线编译器网页

下图显示了程序在线编译器网页。 “ main.cpp”是定义程序要执行的操作的主要C ++文件。 在此示例中,“主 cpp”文件,它首先包含“ mbed.h”头文件,然后将LED1定义为数字输出。 在“ main()”函数中,它使用“ while”循环来打开LED1,等待0.2秒,然后关闭LED1,然后再等待0.2秒。

编译,下载和运行程序

单击“编译”按钮以编译程序。 如果成功,将创建一个名为“ mbed_blinky_K64F.bin”的文件,并将其下载到默认的下载文件夹中。 将文件复制到FRDM-F64K USB驱动器,然后按Reset(重置)按钮运行程序! 现在您应该看到红色LED闪烁!

您可以尝试运行其他现有程序.

创建自己的程序

在您的在线编译器中,您可以通过单击“新建”按钮来创建新程序。 将出现一个“创建新程序”弹出窗口(下图)。 确保选择正确的平台(FRDM-K64F)和正确的模板。 我发现“飞思卡尔自由平台的gpio示例”和“ mbed OS Blinky LED Helloworld!” 是很好的模板。 然后,您可以轻松地修改代码以执行所需的操作。

函数和模块编程

Arm Mbed 程序使用C ++编程语言。

编写简单程序时,只需将所有代码放在“ int main()”函数中。 但是,当您的程序变得越来越长和复杂时,最好将一些可重用的代码分成函数。 函数也称为子例程,过程或方法。 使用函数,您可以轻松地重用代码,并使“ int main()”函数更加简单,从而降低了编程复杂度。

以下是一个简单的函数示例。 使用了一个称为“ void flashled(double t)”的函数,每t秒使LED闪烁一次。

</>

您也可以将“ void flashled(double t)”函数放在“ int main()”函数之后,如示例4.3所示。 在这种情况下,您需要在“ int main()”函数之前的开头声明函数。 函数的声明语句称为原型。

</>

练习 1

向“ void flashled(double t)”函数添加一个额外的输入变量,使其变为“ void flashled(int n,double t)”,并且根据输入值n闪烁不同的LED。

对于大型项目,您还可以将代码分成不同的文件。 这称为模块化编程。 下面的示例将Flash led函数分为“ flashled.cpp”和“ flashled.h”文件,如下图所示。 您可以通过右键单击程序并选择“ New File…”来从在线编译器添加新文件。 头文件,即“ * .h”文件,主要用于声明,例如编译器指令,变量声明和函数原型。 “ cpp”文件用于实现功能。 在这种情况下,头文件“ flashled.h”用于将多个文件连接在一起。

练习2

向“ void flashled(double t)”函数添加一个额外的输入变量,使其变为“ void flashled(int n,double t)”,并根据输入值n闪烁不同的LED。

更多函数和模块编程,参见。

管理平台

在在线编译器中,您可以通过单击右上角的平台图标来选择平台。 从弹出窗口(下图)中,您可以获取FRDM-K64F开发板及其引脚布局的完整技术细节。 您也可以选择其他平台或添加更多平台。

但是要删除平台,您将需要返回Arm Mbed 开发板网页,然后单击页面左侧的“删除”按钮(下图)。

克隆程序

如果要基于现有程序创建一个新程序,则可以克隆该程序,即复制现有程序。 只需选择您要克隆的程序,右键单击以显示弹出菜单,然后选择“克隆…”(下图)。

然后选择您想要保存克隆程序的新名称,如下图所示

寻找和替换

您可以通过单击顶部的“查找”按钮或按“ CTRL + F”键在程序中进行搜索。 然后将出现一个搜索和替换工具栏(下图)。

您可以使用它在当前文件中搜索和替换。 右侧的“高级”按钮使您可以搜索项目文件夹中的所有文件(下图)。

编译多平台程序

尽管本文侧重于FRDM-K64F开发板,但是大多数代码都与其他平台兼容,例如NXP LPC1768。 请参阅以下代码。

</>

平台特定的代码主要与引脚设置有关。 下表显示了FRDM-K64F和LPC 1768板之间的引脚排列比较。 编译程序时,只需确保选择正确的平台。

FRDM-K64F和LPC 1768的引脚比较表

删除程序

灾难恢复程序

更新固件

帮助

阅读完整文档







文章分类: 嵌入式ARM Mbed
分享到: