Cool
Grundsätzlich müsste jetzt auch der alte Code tun.. wobei das Beispielprogramm ggf. auch ne nette Basis für weiteres Gebastel ist, relevant sind ja nur die Inp32/Out32 Anweisungen.
Cool
Grundsätzlich müsste jetzt auch der alte Code tun.. wobei das Beispielprogramm ggf. auch ne nette Basis für weiteres Gebastel ist, relevant sind ja nur die Inp32/Out32 Anweisungen.
Ja, das tut nun auch :)))
Vielen dank noch mal für die ganze Hilfe! :))
Nun werde ich mich mal an einem kleinen Lauflicht versuchen!
So hier ist die erste Version vom Lauflicht
Nett, hab das Video erst jetzt gesehen.
Nur so aus Neugier.. das allererste Programm in diesem Thread wo du die Datenbits via Byteprotokoll setzt (also mit fopen) funktioniert das wider erwarten doch? Oder machen dir OS-Buffer und Ack-Bits den Plan zunichte?
Ich habe es selber noch nicht so getestet, werde ich im laufe des Abends mal machen!
Mein Lehrer meinte, es würde so gehen. Bin mal gespannt.
Ich habe den Code nun noch mal genau so gestartet wie er im ersten Post ist, da tut sich aber garnüscht!
Nun werde ich mal weiter an dem Lauflicht basteln, irgendwie bekomme ich die LED die am 2. Pin angeschlossen ist nicht angesprochen.
tut nichts!
und
spricht die 2. LED an
Hättest du da eventuell noch nen guten tipp für mich?
Okay, Problem gelöst, lag an der Hardware... werde mir demnächst mal ein ordentliches Kabel besorgen
Hätte mich auch erstaunt wenn sich mit dem ursprünglichen Code was bewegt hätte. Das einzige was ich mir vorstellen könnte, ist dass du 1 Byte senden kannst, danach blockierts weil kein ACK reinkommt. Aber vermutlich blockiert das Protokoll schon vorher.
Mein Tipp übrigens um die Bitaddressierung etwas zu vereinfachen: Definier dir C/C++ Konstanten für die ganzen Bitpositionen:
// Ausserhalb aller Funktionen#define D0 (1 << 0)#define D1 (1 << 1)#define D2 (1 << 2)#define D3 (1 << 3)#define D4 (1 << 4)#define D5 (1 << 5)#define D6 (1 << 6)#define D7 (1 << 7)
// In deinem Code:
// Pin D1, D3 und D4 setzen:char byte = D1 + D3 + D4; // (alternativ: byte = D1|D3|D4; )Out32(base, byte);// Pin D3 und D4 wieder ausmachen: char byte = Inp32(base) - D4 - D3; // (alternativ: byte = Inp32(base) & ~D4 & ~D3)Out32(base, byte);// Status von D5 auslesen:bool status = !!(Inp32(base) & D5);
Das mit der Präprozessor Anweisung ist ne gute Idee, danke dafür.
Ich bastel gerade noch an dem Lauflicht, da habe ich noch ne Frage und zwar habe ich erstmal so gelöst:
So geht es auch in eine Richtung, aber leider sind meine Versuche gescheitert es in die andere Richtug zurück laufen zu lassen, ich habe es so gemacht:
Ich habe nun 8 LEDs zum testen angeschlossen ud wen ich für jede LED dann die 3 Zeilen Tippen würde wäre es ja nicht so sinnig...
Leider komme ich hier gerade nicht weiter
Problem ist deine Abbruchbedingung. Im zweiten Loop sagst du "laufe solange wie gilt: 'zur <= 0'". Die Variable "zur" ist aber zum Startpunkt nicht kleiner-gleich Null, daher wird die Schleife nicht ausgeführt. Da müsste stehen: zur >= 0;
3gp.. omg. Gibts das auch in einem gescheiten Format?
3gp.. omg. Gibts das auch in einem gescheiten Format?
Nö, wenn du ein Problem hast musste es dir ja nicht angucken.
ich sehe mit LEDs zwar keinen Sinn, aber für Gerätesteuerung ists super, zb elektrische Rolläden einfach n Relais drann und per pc schalten
3gp.. omg. Gibts das auch in einem gescheiten Format?
3gp ist halt ein Standardformat bei Videos von Mobilgeräten.
ich sehe mit LEDs zwar keinen Sinn, aber für Gerätesteuerung ists super, zb elektrische Rolläden einfach n Relais drann und per pc schalten
So macht es nun natürlich auch keinen Sinn, gebe ich dir Recht!
Ich habe vor ein paar Wochen den Thread hier eröffnet: Schrankbeleuchtung
Und nun kannst du dir bestimmt denken, wo die LEDs hinkommen!
Wie viel Bilder pro Sekunde sind das?
Wie viel Bilder pro Sekunde sind das?
Genug, dass die Leute die es interessiert erkennen können, was es ist. :-)))))
Genug, dass die Leute die es interessiert erkennen können, was es ist. :-)))))
Jo, man sieht ja was es ist.
Ich würds ja Aber solche kruxen Formate krieg ich nicht abgespielt
EDIT
Danke an DosAmp!
Genug Formatdiskussionen, wir sind hier nicht im Off-Topic.
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!