Einen Taster anschließen klingt jetzt eigentlich ziemlich trivial. Aber man kann schnell ein ...
Zeigen Sie uns was man mit Elektronik und Microcontroller alles basteln und bauen kann. Lassen Sie ...
LEDs sind eigentlich dazu gedacht zu leuchten. An einem AVR kann man sie aber auch als Lichtsensor ...
Mit meinem 64pixels LED Display will ich euch mein neuestes Projekt vorstellen. Es ist ein winziges ...
Dieser Adventskalender eignet sich hervorragend als Geschenk für Elektronik-Bastler und ...
Balkon & Terrassen Wettbewerb
Nimm jetzt an unserem Balkon Wettbewerb teil: Egal welche Anleitung, oder Idee du rund um den Balkon oder Terrasse hast, wir wollen sie sehen! ... mehr erfahren
| Teilahme bis: 23.07.2012 | Aktuelle Teilnehmerzahl: 2 |
|
Perfektes Raumklima - Luft-Entfeuchter Special! Brauchbare Tipps, leichte Anleitungen sowie viele Anregungen finden Sie im Luft-Entfeuchter Special Weitere Infos... |
Schritte
Anleitung an einen Freund senden
- Senden an *
- Name *
- Von *
- Betreff
- * Pflichtfelder
64 pixel RGB LED Anzeige - Noch ein Arduino Clone
Schritt 4: C Programmcode
Ein Hinweis vorweg. Normalerweise muessen in C die Prototypen von Funktionen vor der Funktionsdefinition selbst angegeben werden, also z.B.:
#include <stdio.h>
int main(void)
void mach_irgendwas(void)
int main(void) {
mach_irgendwas();
}
void mach_irgendwas(void) {
/* Kommentar */
}
Diese Arbeit nimmt einem die Arduino Programmierumgebung ab. Daher erscheinen diese Funktionsprototypen im Folgenen NICHT mehr. Des Weiteren erwartet die Entwicklungsumgebung das Vorhandensein 2er Funktionen: setup() und loop(). Wie der Name schon sagt werden in setup() nur einmalige Dinge abgehandelt (z.B. Pins als Input oder Output definieren), wohingegen loop() permanent laeuft.
In Bild (1) sieht man die Programmierumgebung und die setup() Funktion mit ein paar Eintraegen.
In Bild (2) wird die Funktion spi_transfer() definiert. Mit ihrer Hilfe wird SPI auf der Hardwareebene angesprochen, da dieses von der CPU unterstuetzt wird und wesentlich schneller von statten geht als eine Softwareimplementierung.
In Bild (3) sieht man den Anfang des Interrupt Codes. Er verwenden einen Timer1 Ueberlauf Interrupt. Timer1 ist ein 16bit Zaehler, welcher mit dem heruntergeteilten CPU Takt laeuft und sobald er voll ist wird der Code ausgefuehrt. Z.B. kann je nach Frequenzteiler (prescaler) die Haeufigkeit eingestellt werden.
Der etwas kryptische Code z.B. while(!(SPSR & (1<<SPIF))) {} verwendet die Register der CPU direkt. Dies hier bedeuted z.B. in Klartext: "warte, solange das SPIF-bit im Register SPSR nicht gesetzt ist".
Ich moechte nochmals betonen, dass fuer einfache Anwendungen solche Kniffe nicht noetig sind. Davon muss sich also niemand abschrecken lassen!
Melden Sie sich kostenlos an, um diese Werbung dauerhaft auszublenden.
Kosten: gering
hoch
Schwierigkeit: gering
hoch

| Bei neuen Kommentaren benachrichtigen |

