首页 > 应用与设计 > 电器 > Service Robots > 服务型机器人 > TI机器人系统学习套件(TI-RSLK) >

服务型机器人

最新课程

热门课程

TI-RSLK 模块 18 - 实验视频 18.1 - 演示 UART

本实验的目的是创建中断驱动的 UART 驱动程序。 对于本实验,您仅需要 MSP432 LaunchPad。 在本实验中,您将需要 评估驱动程序的性能以及它的 工作情况。 现在让我们开始吧。 现在,我已经编写完成了实验 18。 在所编写的 UART 驱动程序中,我在中断服务例程中 使用了 FIFO 法,接下来我将 运行程序 18-2 和 18-3 来解释 中断驱动的驱动程序的美妙之处。 好的,那么这是 UART 的 Busy-wait 版本, 它在主程序中的输出字符串上 使用 Busy-wait。 它创建一个具有随机长度 并包含随机字符的字符串,并且它尝试将其输出。 然后,它要做的是测量所消耗的 运行时间。 因此我们要在这里将其添加为一个表达式, 以便我们可以测量它运行所花费的时间。 好,那么让我们开始吧。 好的,那么我已经下载好了程序, 现在,我将运行该驱动程序。 我可以看到,为了执行这些字符串输出,它花费了大约 800 个总线周期。 好,让我们重试一下 -- 现在,使用中断服务版本。 好,让我们尝试这个。 好,那么停止这个。 返回到编辑器,并且使程序 8-3 成为主程序。 从本质上来说,这里的程序 会执行相同的操作,只是它使用 中断驱动的版本,对吧? 那么,让我们操作一下,好吗? 生成了。 接下来我要下载它。 那么,现在这里的目标是,查看在我 使用了中断驱动的 UART 驱动程序的情况下, 运行该输出字符串操作所花费的时间会是怎样的, 对吧? 那么,它是相同的操作序列。 我将再次计算运行该系统所花费的 最大时间。 那么,我们还可以查看最大时间,对吧? 现在我将执行它。 现在,看看发生了什么情况。 它从 800 个周期下降到了 50 个周期。 请注意,它实际上并没有更快地输出字符。 它具有相同的波特率。 那么,我们可以做的一件有趣的 事情是查看操作的直方图。 那么我们在这里创建了供我们查看的直方图 -- 这里的输出直方图。 现在,我在该版本中完成的是,为您提供了 在 FIFO 运行时它达到特定大小的 次数计数。 那么在这里的特定情况下, 您可以看到该 FIFO 曾达到的最大大小 是 29 个元素。 因此它从未超过 29 个元素。 因此,只要该系统的该 FIFO 大于 29 个 元素,对输出字符串的 调用就始终会在 50 个周期之内返回。 现在,它使用 800 个周期的剩余部分 进行实际输出。 但是,我所完成的是,我通过将数据 放置在 FIFO 中并将其以流式方式输出降低了 调用输出字符串的开销。 这演示了中断驱动的 I/O 设备 驱动程序的一项非常重要的功能。 换句话说,我可以隔离该字符串的生成, 将其存储到 FIFO 中。 然后,该字符串的输出 -- 实际的 输出 -- 可以在 后台在中断服务例程中发生。 在本实验中,您学习了 中断驱动 I/O 和先入先出信号对于提供系统性能大有帮助。 通过了解 FIFO 是如何运行的以及 如何在中断驱动的 I/O 驱动程序中使用它们, 您可以最大程度地提高系统性能,尤其 是在复杂系统中。 祝您学得开心! 88

本实验的目的是创建中断驱动的 UART

驱动程序。

对于本实验,您仅需要 MSP432 LaunchPad。

在本实验中,您将需要

评估驱动程序的性能以及它的

工作情况。

现在让我们开始吧。

现在,我已经编写完成了实验 18。

在所编写的 UART 驱动程序中,我在中断服务例程中

使用了 FIFO 法,接下来我将

运行程序 18-2 和 18-3 来解释

中断驱动的驱动程序的美妙之处。

好的,那么这是 UART 的 Busy-wait 版本,

它在主程序中的输出字符串上

使用 Busy-wait。

它创建一个具有随机长度

并包含随机字符的字符串,并且它尝试将其输出。

然后,它要做的是测量所消耗的

运行时间。

因此我们要在这里将其添加为一个表达式,

以便我们可以测量它运行所花费的时间。

好,那么让我们开始吧。

好的,那么我已经下载好了程序,

现在,我将运行该驱动程序。

我可以看到,为了执行这些字符串输出,它花费了大约

800 个总线周期。

好,让我们重试一下 --

现在,使用中断服务版本。

好,让我们尝试这个。

好,那么停止这个。

返回到编辑器,并且使程序 8-3 成为主程序。

从本质上来说,这里的程序

会执行相同的操作,只是它使用

中断驱动的版本,对吧?

那么,让我们操作一下,好吗?

生成了。

接下来我要下载它。

那么,现在这里的目标是,查看在我

使用了中断驱动的 UART 驱动程序的情况下,

运行该输出字符串操作所花费的时间会是怎样的,

对吧?

那么,它是相同的操作序列。

我将再次计算运行该系统所花费的

最大时间。

那么,我们还可以查看最大时间,对吧?

现在我将执行它。

现在,看看发生了什么情况。

它从 800 个周期下降到了 50 个周期。

请注意,它实际上并没有更快地输出字符。

它具有相同的波特率。

那么,我们可以做的一件有趣的

事情是查看操作的直方图。

那么我们在这里创建了供我们查看的直方图 --

这里的输出直方图。

现在,我在该版本中完成的是,为您提供了

在 FIFO 运行时它达到特定大小的

次数计数。

那么在这里的特定情况下,

您可以看到该 FIFO 曾达到的最大大小

是 29 个元素。

因此它从未超过 29 个元素。

因此,只要该系统的该 FIFO 大于 29 个

元素,对输出字符串的

调用就始终会在 50 个周期之内返回。

现在,它使用 800 个周期的剩余部分

进行实际输出。

但是,我所完成的是,我通过将数据

放置在 FIFO 中并将其以流式方式输出降低了

调用输出字符串的开销。

这演示了中断驱动的 I/O 设备

驱动程序的一项非常重要的功能。

换句话说,我可以隔离该字符串的生成,

将其存储到 FIFO 中。

然后,该字符串的输出 -- 实际的

输出 -- 可以在

后台在中断服务例程中发生。

在本实验中,您学习了

中断驱动 I/O

和先入先出信号对于提供系统性能大有帮助。

通过了解 FIFO 是如何运行的以及

如何在中断驱动的 I/O 驱动程序中使用它们,

您可以最大程度地提高系统性能,尤其

是在复杂系统中。

祝您学得开心! 88

视频报错
手机看
扫码用手机观看
收藏本课程

相关下载

查看全部

视频简介

TI-RSLK 模块 18 - 实验视频 18.1 - 演示 UART

所属课程:TI机器人系统学习套件(TI-RSLK) 发布时间:2018.08.27 视频集数:69 本节视频时长:4:52
该实验的目的是创建一个中断驱动UART驱动。
已有6人参与了讨论去论坛跟帖交流