LieberNetterFlo
Rear Admiral
- Registriert
- Feb. 2006
- Beiträge
- 5.838
Hallo zusammen,
ich spiele gerade mit meinem Raspberry Pi rum und hab dort am SPI Bus einen LED Strip hängen (32 RGB LEDs). Diese kann ich auch schon erfolgreich leuchten lassen (mit unten stehenden Programm).
Nun würde ich der ausführbaren Datei aber gerne über die Parameter sagen welche Farbe leuchten soll. Mein Problem ist die Parameterübergabe. Ich hab zwar im Internet Code gefunden, aber leider braucht mein Array das in einer ganz besonderen Form.
Wisst ihr wie das geht?
p.s. die ganzen INCLUDES sind überrest von meinen vorigen versuchen und das
ist wohl ein Anfang wie man Parameter übergibt. Ich kan da auch drauf zugreifen mit argv[x] aber ich bekomms nicht ins richtige Format.
ich würde gerne übergeben entweder 255255255 oder 255 255 255 oder FFFFFF oder FF FF FF. (Favorit: FFFFFF).
Daraus müsste ich nun die Zeichen extrahieren und ein 0xFF oder \xFF bekommen.
ich spiele gerade mit meinem Raspberry Pi rum und hab dort am SPI Bus einen LED Strip hängen (32 RGB LEDs). Diese kann ich auch schon erfolgreich leuchten lassen (mit unten stehenden Programm).
Nun würde ich der ausführbaren Datei aber gerne über die Parameter sagen welche Farbe leuchten soll. Mein Problem ist die Parameterübergabe. Ich hab zwar im Internet Code gefunden, aber leider braucht mein Array das in einer ganz besonderen Form.
Wisst ihr wie das geht?
p.s. die ganzen INCLUDES sind überrest von meinen vorigen versuchen und das
Code:
int main( int argc, // Number of strings in array argv
char* argv[]) // Array of command-line argument strings
ich würde gerne übergeben entweder 255255255 oder 255 255 255 oder FFFFFF oder FF FF FF. (Favorit: FFFFFF).
Daraus müsste ich nun die Zeichen extrahieren und ein 0xFF oder \xFF bekommen.
Code:
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <stdlib.h>
#include <unistd.h>
#include <iomanip>
using namespace std;
int main( int argc, // Number of strings in array argv
char* argv[]) // Array of command-line argument strings
{
// Initialisierung
cout << "Starting ..." << endl;
char buffer[96];
int i=0;
//alles aus
while(i<94){
buffer[i] = '\x00';
i++;
buffer[i] = '\x00';
i++;
buffer[i] = '\x00';
i++;
};i=0;
//alles gleiche farbe
while(i<94){
buffer[i] = '\xff';
i++;
buffer[i] = '\x00';
i++;
buffer[i] = '\xff';
i++;
};i=0;
ofstream myfile; // Dateistream anlegen
myfile.open ("/dev/spidev0.0",ios::binary); // Datei bzw Device öffnen
myfile.write(buffer,96); // Daten schreiben
// Programmende
cout << "... the end!" << endl;
return 0;
}