Hi, ich suche für die Arduino-IDE einen Befehl wie in Assembler rjmp zum Sprung innerhalb des Programmes. sollte das nicht gehen (ich komme eh mit C und diesem Loop-Zeugs nicht klar) würde ich mich über einen Tipp bzgl. der Realisierung freuen. Bitte nur ein Tipp, nicht ein fertiges Programm. Im Gegensatz zu vielen Anderen im Forum möchte ich noch etwas selber denken. Bauen möchte ich eine Mini-Uhr: Ich baue einen CMOS-Quarz-Oszillator, dessen Ausgang kommt an Pin 6 des Tiny13. An Pin 5 kommt eine LED mit Vorwiderstand (2mA). An Pin 2 und 3 kommen entprellte Taster. Nach Drücken auf den Taster an Pin 3 wird die Uhrzeit über eine LED ausgegeben (das ist nicht das Problem, also meinerseits). Nach langem Drücken (4 Sekunden) auf den Taster an Pin 2 kann die Uhrzeit eingestellt werden (durch kurzes Drücken). Gut zu wissen wäre auch, wie man einem Zahlenwert die Nachkommastellen entzieht, da ich mit den 86400 Sekunden arbeiten möchte. Danke Pascal
Pascal schrieb: > ich suche für die Arduino-IDE einen Befehl wie in Assembler rjmp zum > Sprung innerhalb des Programmes. > sollte das nicht gehen (ich komme eh mit C und diesem Loop-Zeugs nicht > klar) würde ich mich über einen Tipp bzgl. der Realisierung freuen. Da solltest Du schon mal bekanntgeben, was Du mit dem Sprung bezwecken willst.
Hi Wenn Du die Variabel als (irgend ein passendes) INT declarierst, sind Nachkommastellen kein Problem mehr. Da 86k Sekunden 'etwas' mehr als 65535 sind, reichen 16bit nicht mehr aus. Ob Du 24bit nehmen kannst, oder 32bit nehmen musst, ist mir aber nicht bekennt. MfG
Willst du nicht lieber einen etwa größeren ATtiny verwenden und den direkt mit einem 32kHz Quarz takten? Für ein Uhr-Programm sollten 32kHz auch als Systemtakt locker ausreichen. Damit habe ich schon wesentlich komplexere Sachen gamcht.
Pascal schrieb: > ich suche für die Arduino-IDE einen Befehl wie in Assembler rjmp zum > Sprung innerhalb des Programmes. Goto ?!?!?! Oder inline Assembler, dann tuts auch dein rjump Oder eine Lib mit *.S Datei basteln. Dann kann die Arduino IDE auch Assemblerstrecken kompilieren. Pascal schrieb: > (ich komme eh mit C und diesem Loop-Zeugs nicht > klar) Dann lass die setup() und loop() doch weg. Keiner zwingt dich damit zu arbeiten.
Arduino F. schrieb: > Dann lass die setup() und loop() doch weg. > Keiner zwingt dich damit zu arbeiten. heißt das, ich kann auch alle befehle außerhalb dessen eingeben und diese werden dann einmalig ausgeführt? (nacheinander)
Ich habe nämlich ein ähnliches Problem, bei der analogen Signalverarbeitung
Manuel schrieb: > heißt das, ich kann auch alle befehle außerhalb dessen eingeben und > diese werden dann einmalig ausgeführt? (nacheinander) Nein! Dann wirst du eine main() einführen müssen. Und darin kannst du dann "alle befehle" "eingeben und diese werden dann einmalig ausgeführt"
Die Arduino IDE liefert halt schon eine main() mit, und ruft daraus dann setup() und loop(), vermutlich um es den Einsteigern etwas zu erleichtern. main() muss vorhanden sein, weil das die Standardfunktion in C/C++ ist, wo das Hauptprogramm beginnt. "Einen Sprung innerhalb des Programms" braucht man quasi nie. Schleifen kann man mit "break" abbrechen, will man zig geschachtelte Schleifen verlassen, darf es auch mal ein "goto" sein. Daneben gibt es noch setjmp.h, das habe ich niemals gebraucht. Pascal: Wenn dir C zu schwer ist, programmiere doch in PASCAL. ;-)) Sorry - der Witz musste sein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.