我正在测试/调试使用74HC595移位寄存器(Arduino Teensy3.2 @ 3.3V)的C ++程序。

我想将SR的8个输出连接回Arduino板上的8个输入引脚。

我的问题是:在移位寄存器的输出与Arduino输入之间是否需要电阻?如何知道来自SR输出的电流?

我确实看过数据表,但这让我更加困惑:
https://www.taydaelectronics.com/datasheets/A-251.pdf

设置寄存器的代码:

void ShiftRegisterOut(uint8_t bitOrder, uint8_t val)
{
  for (uint8_t i = 0; i < 8; i++)
  {
    if (bitOrder == LSBFIRST)
        digitalWrite(pinData, !!(val & (1 << i)));
    else
        digitalWrite(pinData, !!(val & (1 << (7 - i))));
    digitalWrite(pinClock, HIGH);
    digitalWrite(pinClock, LOW);
  }
}

最佳答案

根据您链接的数据表以及Teensy上uC的datasheet ,在uC之间不需要电阻来限制电流:

74HC595最大输出电流+/- 20mA @ 6V

MK20DX256VLH7最大输入电流+/- 25mA

但是,如果为74HC595提供大于6V的电压,则可能会超过MK20DX256VLH7的5.5V最大输入电压。

10-04 12:53