使用编程语言C测试Arduino板的管脚

Using the Programming Language C to test the pins of Arduino Board

我是一名学生,目前正在学习微处理器的基础知识。

我被分配了一项任务,但我对任务本身一无所知,而且我一直在努力寻找答案。所以我想在 Whosebug 上试一试。

任务是使用编程语言 C 编写一个简单的程序来测试 Arduino 板,该板首先初始化第 12 个引脚,然后连续给引脚 5V 5 秒和 0 低电压 1 秒。别针。

对于一个不起眼的解决方案或解释,我会很高兴。

提前致谢。

编辑:

我指的是 Arduino 硬件。

从你的 post 我认为你有一个 Arduino 板。

不太可能有人告诉您用 C 语言编程,因为您对 C 语言一窍不通。而且,对于您这种技能水平的人来说,用 C 语言编程 Arduino 的 AVR 微控制器裸机是不可能的。

因此,假设您应该完成使用 C++ 中的 Arduino IDE 对 Arduino 进行编程的非常简单的任务,以执行要求的操作。

你所要做的就是按照这个link:

https://www.arduino.cc/en/Guide

我不会给你任何代码,因为这会带走你的学习经验。

您必须将引脚 12 配置为数字输出。 您将必须了解如何将 LOW 和 HIGH 设置为数字输出 您将了解如何 pause/delay 您的程序几秒钟。

由于任务是将某个引脚设置为输出,因此首先需要查看电路板原理图,找出“引脚12”对应的单片机端口和引脚。微控制器端口通常有一个 1 个字母的名称,例如 PORTA、PORTB 等。AVR 也是如此。

一旦您确定哪个端口是正确的,您还必须确定要设置该端口寄存器中的哪一位。每个端口将有 8 个引脚,因为此 MCU 上的每个端口对应 8 位寄存器。

既然你想让这个引脚作为输出,你必须配置一个“数据方向寄存器”来让它成为输出。在 AVR(和大多数摩托罗拉风格的 MCU)上,这些寄存器称为 DDRx,其中 x 是端口号。请参阅 AVR 手册的 GPIO 部分。您可以通过将 1 写入对应于引脚的位来将 DDR 寄存器设置为输出。

完成后,您可以将实际端口寄存器中的相关位设置为 1 或 0,具体取决于您想要高信号还是低信号。这些在 AVR 上称为 PORTx。

要创建 5 秒延迟,hobbyist/student 调用“忙等待”函数可能就足够了。 Arduino 库具有应该足够的 delay() 函数。只需等待 5000 毫秒。在 professional/real-world 应用程序中,应避免忙等待延迟,然后您宁愿使用片上硬件外设定时器,以便在定时器结束时设置标志。