【问题标题】:What is the difference between input and output in Embedded programming?嵌入式编程中的输入和输出有什么区别?
【发布时间】:2021-05-06 08:45:57
【问题描述】:

我正在学校学习嵌入式使用 C 对微控制器进行编程,我想知道在输出和输入上设置引脚之间的实际区别是什么,因为我无法理解它,即使这听起来合乎逻辑。我知道我将使用输出寄存器向引脚发送电压,但是输入将用于什么示例呢?我猜它会被用来读取引脚的输出?

【问题讨论】:

  • 您不“发送电压”,而是将输出引脚驱动到已知状态。而输入引脚只是读取施加的电压以查看它是否高于或低于由硬件确定的某个阈值。这不是一个真正的编程问题,而是一个电子问题。理解这一点的关键是了解 GPIO 硬件的外观。
  • 补充 Lundin 所说的,不同微控制器之间的 GPIO 硬件不同。我建议您阅读您正在使用的控制器参考手册的 GPIO 部分。一般来说,“输出”模式是某种推/拉配置,“输入”模式是某种上拉/下拉配置。
  • 这不是关于标记为 C 编程的问题。它属于electronics.stackexchange.com
  • @Clifford 你有移动它的凭据吗?
  • @TomV 不是electronics.stackexchange.com (AFAIK)。它没有被列为接近投票可能提名的五个“姐妹”网站之一。

标签: c embedded


【解决方案1】:

上面的 cmets 展示了更多的技术细节,这是一个非常简化的解释,希望对初学者更有帮助:

输入引脚具有非常高的电阻。这意味着其他东西可以决定它的电压。 “其他”将是其他设备的输出。

输出引脚具有低电阻。这意味着它决定了电压是多少*。这个电压可以控制其他东西。

假设您有一个按钮和一个 LED 灯。按钮连接到微控制器上的输入,软件可以读取“输入”按钮是否按下或释放,具体取决于开关连接的电压。基于此,它可以决定 LED 是亮还是灭,然后将这个“输出”写入输出引脚,由那里的电压控制 LED。

* 假设您不会通过将其连接到驱动不同电压的设备来造成短路。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 2018-08-17
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    相关资源
    最近更新 更多