我正在尝试在我的 Raspberry Pi 项目中使用 Arduino 套件中的 74HC595 移位寄存器;但是,Arduino 套件附带的代码并没有明确说明这是如何完成的,因为在 ArduinoIDE 之外的 C 语言中不存在许多调用的函数。提供的代码是这样的:
//www.elegoo.com
//2016.12.9
int tDelay = 100;
int latchPin = 11; // (11) ST_CP [RCK] on 74HC595
int clockPin = 9; // (9) SH_CP [SCK] on 74HC595
int dataPin = 12; // (12) DS [S1] on 74HC595
byte leds = 0;
void updateShiftRegister()
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds);
digitalWrite(latchPin, HIGH);
}
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}
void loop()
{
leds = 0;
updateShiftRegister();
delay(tDelay);
for (int i = 0; i < 8; i++)
{
bitSet(leds, i);
updateShiftRegister();
delay(tDelay);
}
}
Arduino 似乎有以下库,而 C 本身没有:
- 数字写入
- 引脚模式
- 移出
- LSBFIRST
有没有办法将为 Arduino 设计的库合并到 C 包中?我是否必须编写自己的库才能使设备正常工作?