这篇文章是给 浆果夹 板上添加了6个LED,这是使您开始使用Python替代方法的系列文章中的第一篇。
本文涵盖了使用C的知识,但将来还会有一些帖子,内容涉及直接从Scratch使用BerryClip以及使用node.js javascript语言。
在C中执行此操作的最简单方法是使用由Gordon Henderson(又名Gordon Henderson)开发的非常流行的connectionPi C库 德罗.
该代码可从 比特桶 或将以下文本剪切并粘贴到一个名为 test1.c:
#include <wiringPi.h> #include <stdlib.h> int leds[6] = { 7, 0, 3, 12, 13, 14 }; int BUZZER = 10; int BUTTON = 11; void all_leds_off(); void init_pins(); int main (void) { //Check we have wiringPi if (wiringPiSetup () == -1 ) exit (1); init_pins(); all_leds_off(); for (;;) { if (digitalRead (BUTTON) == 1 ) { for (int i = 0; i < 6; i++) { digitalWrite (BUZZER,1); digitalWrite (leds[i],1); delay (50); digitalWrite (BUZZER,0); delay (450); } delay (1000); all_leds_off(); } delay(50); } exit(0); } void init_pins() { //set leds as outputs... for (int i = 0; i < 6; i++) { pinMode(leds[i], OUTPUT); } // set buzzer as output... pinMode(BUZZER, OUTPUT); // set button as an input... pinMode(BUTTON, INPUT); } void all_leds_off() { for (int i = 0; i < 6; i++) { digitalWrite (leds[i],0); } }
您将需要connectionPi,因此请跳至Gordon’网站学习如何 安装connectionPi。
您可能会注意到上面示例中使用的引脚号与Python示例中使用的引脚号不同。这是由于connectionPi拥有它’自己的引脚编号系统。见戈登’s 固定页 为了澄清。
要编译test1.c,请创建一个名为 生成文件 与test1.c在同一目录中,内容如下:
DEBUG = -O3 CC = gcc INCLUDE = -I/usr/local/include CFLAGS = $(DEBUG) -Wall -std=c99 $(INCLUDE) -Winline -pipe LDFLAGS = -L/usr/local/lib LIBS = -lwiringPi OBJ = test1.o BINS = test1 test1: test1.o @echo [link]$(CC) -o [email protected] test1.o $(LDFLAGS) $(LIBS) .c.o: @echo [CC] $< @$(CC) -c $(CFLAGS) $< -o [email protected] clean: rm -f $(OBJ) *~ test1
在同一目录中
make
要运行该程序,请键入
sudo ./test1
享受C,或关注我的下一篇文章–如果我在评论中收到语言要求,那么我’在后续的帖子中,我很乐意让Berry Clip学习另一种语言。
2条留言
#include语句看起来有些奇怪!
狮子座
现在应该纠正!