1

我正在尝试在我的 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 包中?我是否必须编写自己的库才能使设备正常工作?

4

1 回答 1

0

Arduino 和 C 不共享相同的库。Arduino 库保存在 your_sketchbook_folder/libraries 下,而 C 头文件在其他地方。这些也不兼容,因为您不能简单地将文件夹从一个复制粘贴到另一个。每个依赖项都有自己的依赖项,以这种方式移动文件夹会导致更多错误。

于 2020-03-26T22:37:48.793 回答