大家好,我是 在本视频中, 通用输入输出接口的编程。 我们在前一个视频中 换句话说,如果我 然后我将它连接到 那么当一个数字 数字逻辑时,我必须 那么,在前一个 讨论了该 硬件接口。 那么,在该 我们将讨论 我如何编写这些 以便我可以 与该模块 实验中的最终 在光传感器 看到硬件 换句话说,我们将 关联的电压和电流。 然后,这将为我 具体取决于它 然后,第二点 其中您获取 并将其合并到 该数字可告诉您 希望您喜欢本次实验。 该实验应该很有趣。 那么,让我们来讨论 对于通用输入/输出, 即输入和输出。 这不是很复杂。 输入意味着 信号将进入 我们在前一个视频中 输入引脚并且该引脚上的 该电路会将其 它是输入。 如果该电压 那么该电路会 因此,当我们 它将在该寄存器中 为 为了将引脚 我们要将其方向 当我们将方向寄存器 断开所有关联的 使该引脚成为输入, 它是输入。 因此,当我想进行 寄存器,一个 内存映射 读取到该输入寄存器中, 划分到多个 大约 当我说 在这里,当我看到 引脚 初始化该端口 换句话说,让我们 我们通过向选定的 我们实际上 我们所做的第二件事是, 0 那么,正如我说过的, 端口 因此您可以将该 它具有 7, 我感兴趣的 但还有一个 选择寄存器、 方向寄存器 因此每项操作 此外,还会有 具体而言,为了 我需要在两个选择 设置 DIR 我将使用该 我将 寄存器的位 现在,您会注意到 我是通过一种非常有趣的方式来实现它的。 再说一次,它是读取-修改-写入。 那么,让我们 方向寄存器。 该方向寄存器中 具有 1, 再说一次,我最 7,6,等等等,2,1,0。 因此,我要做的是, 用于清除位 它是 当我向它添加 导致位 这正是我需要的结果。 但是,请注意它对 它完全没有更改这些位。 因此,如果我的实验 我未更改他或 我没有动它。 那么,每当您 代码时仅更改 而不更改 或您不必 我们就将该类 这样您就可以 几个位进行操作,而您的 然后你们的两个 并且不会以不利的方式相互影响。 那么,我们将反复 那么,使用输入引脚的 那么,这里的代码 这会将端口 但是,然后我希望实际上 我们将看到,由于 每个引脚 我只对位 读取寄存器中 引脚的过程 我将首先读取 然后我将 2、3、4、5、6、7 或者对其执行与 仅是位 您可以在这里 那么,第一步是 那么,我将获得该值, 然后我将在这里 它将是 处于低电平,那么 或者如果引脚处于高电平, 换句话说,我 具体取决于端口 现在,您可以通过包含两个 即读取和与运算。 再说一次,这将返回 或者,如果您愿意, 一行 该值临时 寄存器中,然后 即选择, 我感兴趣的位, 现在,如果您的 那么这部分 实际上将生成完全 使用一种方法 没有任何速度优势。 因此,您可以 方法中您感觉 发生的情况的一种。 那么,这是输入。 那么,再说一次,输入会 现在,要进行输出,我 我要将同一程序 这会将引脚 然后,我将反复 进行输出。 那么,我要执行的示例是, 现在位 因此,我需要能够将其 再说一次,我们 讲座中看到,如果 那么这里的电压将大于 因此,如果数字 布尔高电平,那么该电压 如果您需要使其 这里的软件将 但硬件将在该点 然后,再说一次,只要 电流小于 您应该记得有 0 那么,再说一次,我们将 这恰好要 我们在前一张幻灯片中看到, 意味着输入。 但我们需要输出, 那么,再说一次, 进行读取-修改-写入, 导致端口 这全部三项操作都访问 修改位 换句话说, 需要修改的位, 7 我们要将这 然后,您可以 初始化,几张 初始化可以在完全 分别进行。 那么,这个将访问位 另一个访问位 任何一个都不会破坏 那么,这是初始化。 再说一次,我们恰好 我们要做的下一件 正如我说过的,您将进行写入, 位-- 哦,就像那里的那个。 如果您对端口 作为输出的引脚, 现在,它恰好是输入引脚, 但对于输出引脚,它将 但我们希望通过 实现,因为 我们只能访问 端口 那么,我们将通过一个包含 我们将首先读取 换句话说, 我的实验伙伴在他或 我将屏蔽我将 我将设置或清除 在本例中只有 然后我要写回 再次修改整个 仅更改我拥有的位 因此,我们将在 那么,在这里,我要将全部 我将屏蔽、清除 然后我要将 即我的实验伙伴 位与我希望修改的 我的函数 进行合并,从而 现在包含我希望 我不希望更改的其他 因此,当我再次 我将仅更改这 现在,我要提醒您, 更改输出。 您可以看到,old 那么,当我清除和设置 不会对外部世界 仅当我将该合并的 才会输出实际的位变为 正如我所指定的。 再说一次,该包含四个步骤的 代码的方法。 现在,您可以通过 这四个步骤,您也 代码来写出它们,其中 我将最终 我更改我想更改的 那么,事实上,这里显式 但它在我的 再说一次,如果您的 这个函数和那个 相同的机器码。 换话句话说,它们 和相同的速度执行。 那么,我们选择对您 再说一次,对于某个输出 然后每当我想 执行这个函数, 或者,我会执行 清除 那么,再说一次, 级别打开和关闭与端口 让我们来执行一个示例。 这个恰好是 这里有一个灯泡。 那么,这是一个常规 那么,这是电源线。 这是灯泡。 那么,我有 设备,我要使用我的 我将使用一种称为 它在输入端用作 那么,它的工作 高电平,您知道,如果是 该 在它周围放置 这里的电器将关闭, 开关是断开的。 但是,如果我发送 我将在这里放一个圆圈 那么光线将进入 这将使开关闭合, 该电器将打开。 电灯打开, 无论我们要做什么, 该微控制器都可以 这称为 它没有那么复杂。 但是,如果您看看 它看起来就像 在本例中,我恰好 输出引脚之一。 MSP432 我将通过友好的 以便它成为一个常规 我将使它成为一个输出。 很显然,它是输出。 信息将沿着 它是一个输出引脚。 但我可以添加另一个 强度设置为高,以便 或同步高达 那么,这几乎可以 任何固态继电器。 那么,当我想 再说一次,要友好一些 我将使用读取-修改-写入 负逻辑,您还记得吧? 0 这就是我将其称为 然后,如果我想 我就将端口引脚设置为 LED 那么,再说一次, 您应该注意到抽象。 我们已经完全抽象出了 2 我们已经抽象出了这样 并且它的驱动 那么,从另一个 具有一个简单的 或关闭灯。 它就是这么简单。 这是您可以在 当您开始进行实验时, 但您将具有 那么,所有这些 都内置到实际 那么,除了将 将那个引脚连接到那里, 那里,这些有 那么 引脚,我们要连接它们, 我向已经您展示了 但我现在想 关于 引脚可以是 那么我们要使端口 您知道如何实现它 寄存器等,清除 将方向寄存器设置为高电平。 您将使端口 我们再次将其 将其选择寄存器 数据寄存器或 我们将等待 它是一段很短的时间 以 这是 然后我们将做 这个用作 现在将成为输入。 这些有 这些有 那么,这是 这些有一组。 那么,这些有 是的,有 是的,好了。 我们将切换该引脚, 这个引脚,正如您 该引脚是一个 该引脚是一个输出。 然后,我们将做的是, 请注意,这不是按比例 是 因此它不是按比例绘制的。 我们将 请注意,这是很多总线周期。 这是 然后,我们将 根据您在该传感器 还是黑色 如果您看到白色, 然后,当我读取时, 相反,如果我具有黑色, 我将看到 因此,如果我在 而那将返回 那么,通过这种 在您的机器人的 机器人是否 为了节能,在该 要将该引脚 这将关闭该灯, 因此,我们将仅 事实上,如果我 该传感器一次,那么 然后我们将重新执行 因此,我们在这里进行 您将使用 使机器人感应线,但 您可以实际看到 等待时间。 那么,这是一个您需要 具体而言,您 了解 感应到高电平,VIL 会将该引脚感应为低电平。 对于该传感器, 该特性。 总之,我们 事实上,它们无处不在。 在本节课中,我们 看到 本实验将使用 我们的碰撞 一个输出引脚将设置 是要前进还是后退? 如果您在实验 您将看到会采用 您的转速计输入 如果我们有一个超声波 蓝牙引脚具有 Wi-Fi 因此,它实际上在 我们将在本实验中实现 希望您喜欢本次实验。 它比较有趣。 An internal server error occurred.