我正在测试/调试使用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最大输入电压。