Feb 262013
 

meine Konfigurationen:

Das Schreiben eines etwas umfangreicheren C-Codes direkt auf dem Raspberry Pi über die Konsole ist etwas umständlich bis gewöhnungsbedürftig. Daher nutze ich das ssh (Secure Shell) über das Terminal zusammen mit Filezilla, einem FTP-Client.

Vorteile:

  • Benutzung einer Maus
  • direktes Kopieren aus anderen Dateien oder Browser möglich
  • Benutzung einer gewohnten Programmierumgebung
  • Überblick der Ordnerstruktur auf dem Raspberry
  • einfache Sicherung der Dateien auf dem Rechner
  • und viele mehr

Nachteile:

  • zum Kompilieren, Binden und Ausführen müssen die Codes auf das Raspberry übertragen werden
    -> etwas gewöhnungsbedürftig

Linux Befehle (für die C-Programmierung)

  • ls -> zeigt alle Dateien eines Verzeichnisses an
  • cd -> change directory, damit wechselt ihr in ein Verzeichnis (man kann auch einen ganzen Pfad angeben)
  • ./programmname -> starten des Programms mit dem Namen: programmname
  • TAB-Taste -> ergänzen des Namens einer Datei oder eines Ordners in der Konsole
  • CTRL+C -> Abbruch eines laufenden Programms
  • sudo reboot

PiFace und C – ersten Schritte

Mit den Erste-Schritte-Beschreibung des PiFace auf unserem Blog: http://my.pi3g.com/interfaces/piface-digital/ haben wir es leider NOCH nicht hinbekommen, das PiFace vollständig anzusteuern.

Es gibt aber eine andere Möglichkeit das PiFace mit C zu Programmieren. Die Anleitung hierzu findet Ihr auf der folgenden Seite: https://projects.drogon.net/raspberry-pi/wiringpiface/.
Bevor Ihr aber das System auf den neusten Stand bringt, sichert eure Daten!

Das Update und Upgrade dauern etwas länger (bei mir war’s ca. eine halbe Stunde). Der Plan B wurde von uns noch nicht ausprobiert!

Anschließend könnt Ihr das erste Programm zum laufen Bringen:

  1. # pi@raspberrypi ~ $ cd wiringPi/examples/
  2. # pi@raspberrypi ~/wiringPi/examples $ make piface
  3. # pi@raspberrypi ~/wiringPi/examples $ ./piface
  4. mit den Tasten auf dem PiFace könnt Ihr anschließend LED’s zum leuchten bringen  

13_02_25_konsole_piface.tiff  

Hello World!

Am besten ist es, wenn Ihr eure Projekte in einem separatem Ordner Speichert.

Für das Compilieren und Binden ist es am einfachsten, wenn man das vorhandene Makefile benutzt und für sich umschreibt. So spart man sehr viel Zeit und Nerven.

Jetzt zum unseren ersten Programm:

// 13.02.25

// hallo_world.c

// adam

#include

#include

int main(int argc, const char * argv[])

{

printf(“Hello World!\n\n”);

  

return 0;

}

und das Makefile dazu:

#

# Makefile:

# wiringPi – Wiring Compatable library for the Raspberry Pi

# https://projects.drogon.net/wiring-pi

#

# Copyright (c) 2012 Gordon Henderson

#################################################################################

# This file is part of wiringPi:

# Wiring Compatable library for the Raspberry Pi

#

# wiringPi is free software: you can redistribute it and/or modify

# it under the terms of the GNU Lesser General Public License as published by

# the Free Software Foundation, either version 3 of the License, or

# (at your option) any later version.

#

# wiringPi is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty of

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

# GNU Lesser General Public License for more details.

#

# You should have received a copy of the GNU Lesser General Public License

# along with wiringPi. If not, see .

#################################################################################

#DEBUG = -g -O0

DEBUG = -O3

CC = gcc

INCLUDE = -I/usr/local/include

CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe

LDFLAGS = -L/usr/local/lib

LDLIBS = -lwiringPi -lpthread -lm

# Should not alter anything below this line

###############################################################################

SRC = hello_world.c \

OBJ = $(SRC:.c=.o)

BINS = $(SRC:.c=)

all:

@cat README.TXT

@echo ” $(BINS)” | fmt

@echo “”

really-all: $(BINS)

hello_world: hello_world.o

@echo [link]

@$(CC) -o $@ hello_world.o $(LDFLAGS) $(LDLIBS)

###############################################################################

.c.o:

@echo [CC] $<

@$(CC) -c $(CFLAGS) $< -o $@

clean:

rm -f $(OBJ) *~ core tags $(BINS)

tags: $(SRC)

@echo [ctags]

@ctags $(SRC)

depend:

makedepend -Y $(SRC)

# DO NOT DELETE

###############################################################################

 Posted by at 7:45 pm
Optimization WordPress Plugins & Solutions by W3 EDGE