hi. habe hier folgendes problem und zwar habe ich eine led funkuhr mit sechs 7-segment anzeigen nach einem internet projekt nachgebaut. einige codeschnipsel habe ich etwas abgeändert um zu einer bestimmten uhrzeit den feierabend als laufschrift anzuzeigen. code:if((((bt.hour % 60) == 14) && ((bt.min % 60) <=15)) && (((bt.sec % 60) > 47))) { if((bt.sec % 60) == 48){ set_led_digit(0, 0x00); set_led_digit(1, 0x00); set_led_digit(2, 0x00); set_led_digit(3, 0x00); set_led_digit(4, 0x00); set_led_digit(5, 0xE8);/*F*/ set_led_digit(6, 0x00); /*the dots*/ } if((bt.sec % 60) == 49){ set_led_digit(0, 0x00); set_led_digit(1, 0x00); set_led_digit(2, 0x00); set_led_digit(3, 0x00); set_led_digit(4, 0xE8);/*F*/ set_led_digit(5, 0xEc);/*E*/ set_led_digit(6, 0x00); /*the dots*/ } if((bt.sec % 60) == 50){ set_led_digit(0, 0x00); set_led_digit(1, 0x00); set_led_digit(2, 0x00); set_led_digit(3, 0xE8);/*F*/ set_led_digit(4, 0xEC);/*E*/ set_led_digit(5, 0x12);/*I*/ set_led_digit(6, 0x00); /*the dots*/ } if((bt.sec % 60) == 51){ set_led_digit(0, 0x00); set_led_digit(1, 0x00); set_led_digit(2, 0xE8);/*F*/ set_led_digit(3, 0xEC);/*E*/ set_led_digit(4, 0x12);/*I*/ set_led_digit(5, 0xEC);/*E*/ set_led_digit(6, 0x00); /*the dots*/ } if((bt.sec % 60) == 52){ set_led_digit(0, 0x00); set_led_digit(1, 0xE8);/*F*/ set_led_digit(2, 0xEC);/*E*/ set_led_digit(3, 0x12);/*I*/ set_led_digit(4, 0xEC);/*E*/ set_led_digit(5, 0x88);/*R*/ set_led_digit(6, 0x00); /*the dots*/ } if((bt.sec % 60) == 53){ set_led_digit(0, 0xE8);/*F*/ set_led_digit(1, 0xEC);/*E*/ set_led_digit(2, 0x12);/*I*/ set_led_digit(3, 0xEC);/*E*/ set_led_digit(4, 0x88);/*R*/ set_led_digit(5, 0x00); set_led_digit(6, 0x00); /*the dots*/ } if((bt.sec % 60) == 54){ set_led_digit(0, 0xEC);/*E*/ set_led_digit(1, 0x12);/*I*/ set_led_digit(2, 0xEC);/*E*/ set_led_digit(3, 0x88);/*R*/ set_led_digit(4, 0x00); set_led_digit(5, 0xFA);/*A*/ set_led_digit(6, 0x00); /*the dots*/ } if((bt.sec % 60) == 55){ set_led_digit(0, 0x12);/*I*/ set_led_digit(1, 0xEC);/*E*/ set_led_digit(2, 0x88);/*R*/ set_led_digit(3, 0x00); set_led_digit(4, 0xFA);/*A*/ set_led_digit(5, 0xCE);/*B*/ set_led_digit(6, 0x00); /*the dots*/ } if((bt.sec % 60) == 56){ set_led_digit(0, 0xEC);/*E*/ set_led_digit(1, 0x88);/*R*/ set_led_digit(2, 0x00); set_led_digit(3, 0xFA);/*A*/ set_led_digit(4, 0xCE);/*B*/ set_led_digit(5, 0xEC);/*E*/ set_led_digit(6, 0x00); /*the dots*/ } if((bt.sec % 60) == 57){; set_led_digit(0, 0x88);/*R*/ set_led_digit(1, 0x00); set_led_digit(2, 0xFA);/*A*/ set_led_digit(3, 0xCE);/*B*/ set_led_digit(4, 0xEC);/*E*/ set_led_digit(5, 0x8A);/*N*/ set_led_digit(6, 0x00); /*the dots*/ } if((bt.sec % 60) == 58){ set_led_digit(0, 0x00); set_led_digit(1, 0xFA);/*A*/ set_led_digit(2, 0xCE);/*B*/ set_led_digit(3, 0xEC);/*E*/ set_led_digit(4, 0x8A);/*N*/ set_led_digit(5, 0x9E);/*D*/ set_led_digit(6, 0x00); /*the dots*/ } if((bt.sec % 60) == 59){ set_led_digit(0, 0xFA);/*A*/ set_led_digit(1, 0xCE);/*B*/ set_led_digit(2, 0xEC);/*E*/ set_led_digit(3, 0x8A);/*N*/ set_led_digit(4, 0x9E);/*D*/ set_led_digit(5, 0x00); set_led_digit(6, 0x00); /*the dots */ } ich weiß das ganze müsste auch mit einer schleife zu realisieren sein allerdings reichen meine c kenntnisse nicht so weit :) problem ist das die laufschrift zu langsam is wie man im code erkennen kann rutscht der text jede sekunde einen schritt nach links. ich würde das gern schneller machen sodass es "flüssig" wirkt. nur wie? :)
Dann entkoppel das Schieben von der Uhrzeit! Starte das Scheieben einfach mit der Uhrzeit (14:15:00) und dann wird geschoben. Als Zeitbasis für das Schieben nimmst du einen internen Timer..
wenn cih wüsste wie das gehen würde.wär die frage hier nich drin :) problem is halt das mein arbeitgeber mir nich die zeit gibt für sowas c zu lernen da das ganze ein azubi projekt ist. und ich außer dieser uhr eh nich wirklich was mit der programmierung in c zu tun hab.
Ah2k3 wrote: > wenn cih wüsste wie das gehen würde. Das kann dir hier auch keiner sagen. Du musst den Uhrencode studieren. So wie dein jetziger Uhrencode dir ein 1 Sekunden Signal gibt (über die Sekunden Variable), so wird es wahrscheinlich irgendwo im Code noch ein 2.tes Signal geben. Was ist denn zb. mit den beliebten blinkenden Punkten in deiner Anzeige? Blinken die alle Sekunden oder alle halbe Sekunden? Wenn das alle halbe Sekunde stattfindet, dann wäre das doch ein Ansatzpunkt. Wenn nicht, dann wird es sicher irgendwas anderes geben. Wenn alle Stricke reissen, dann kann man immer noch einen freien Timer dafür einsetzen, sich ein regelmässiges Signal zu erzeugen. Aber auch hier wieder. Wir wissen nicht wie deine Uhr realisiert ist und können daher nicht sagen, was da noch frei ist und was man nehmen könnte. > problem is halt das mein arbeitgeber mir nich die zeit gibt für sowas c > zu lernen da das ganze ein azubi projekt ist. Dann wirst du dich wohl damit zufrieden geben müssen was du hast. Man kann keinen Motor bauen, wenn man nicht bereit ist (oder sich die Zeit nimmt oder die Zeit gestellt bekommt) zu lernen mit einer Feile umzugehen.
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.