Suchergebnisse
Suchergebnisse 1-20 von insgesamt 79.
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.
Hinweis kann nach Kenntnisnahme deaktiviert werden!
-
Ist schon klar, dass der M88 das auch in HW könnte. Ich will es später in einen Tiny13A packen. Wenn ich den Text "test<LF>" eingebe, kommen kryptische Zeichen raus. Laut HD44780 Zeichentabelle die Hex Codes B4, A5, B3, B4. Ich habe dann mal einen Pin getoggelt direkt bevor der Eingangspin gelesen wird. Das sieht dann so aus: bascomforum.de/index.php?attac…1ae9074bed57a5555a1c3fc17 Deutlich sieht man, dass der 8. Toggle nach dem 8.Bit kommt, also dort, wo das Stoipp-Bit ist. Und wenn man die Bit…
-
Hallo Pluto25, vielen Dank für das Einstellen dieses Codes. Allerdings versuche ich jetzt schon seit einiger Zeit, eine sinnvolle Anzeige zu bekommen. Funktioniert der Code bei dir so, wie er ist? Da ich keinen Tiny84 zur Hand habe, wollte ich einen M88p verwenden. Eigentlich muss ich also nur einige Stellen ändern, die Controller spezifisch sind. In der LCD Anzeige steht nach dem Senden einer 1<LF> auch Empfangen:2. In der zweiten Zeile wird das "Ha" von Hallo wird durch zwei Leerzeichen ersetz…
-
Klar, deswegen heißt die Option auch "Clear Timer" (on Compare Match) weil man damit Fast-PWM einschaltet. Du kannst das natürlich machen, aber wundere dich nicht, wenn der Compiler in der nächsten Version die Kombination PWM und Clear_Timer als Fehler zurückweist. Es sind beim normalen PWM übrigens nur 510 Schritte für einen Durchlauf. Compare_A ist halt für CTC und Counter, während Compare_A_PWM für PWM verwendet wird. Die möglichen Werte der Optionen sind unterschiedlich. Das dabei evtl. die …
-
Warum sollte das dunkler sein, wenn immer eine der beiden LEDs an ist?
-
@tschoeatsch, wenn du noch was rausholen willst, würde ich auf die ganze ISR verzichten. Das spart dir bei jedem Timerüberlauf mehr als 100 Takte. Wenn ich das richtig verstehe macht deine Main Loop doch eigentlich gar nichts, hauptsächlich waits. In der Main Loop würde ich nur TOV0 abfragen, dann die Display Routine (deine jetzige ISR) aufrufen und dann wieder auf das Bit warten. @Michael Das hat ja nichts mit BASIC oder Unterschied Word-Byte zu tun, wenn ein Incr länger dauert als v=v+1. Umgek…
-
Ich denke, du glaubst, mit ein paar kleinen Änderungen kommst du auf deren Leistung. Das wird nichts werden. Da musst du dir schon mal genauer ansehen, was der Compiler so treibt und wie du es verbessern kannst. Incr Index_1 sieht ja nett aus, benötigt bei Word Variablen aber 19 Takte. Index_1=Index_1 + 1 nur 14. Mal eben 25% weniger. Oder das hier: BASCOM-Quellcode (3 Zeilen) 49 Takte und 11 Register, 10 alleine für die Multiplikation. Ginge auch so: BASCOM-Quellcode (7 Zeilen)29 Takte und nur …
-
Na ja, du verwendest ja immer noch die Array-Elemente. Ob du die jetzt als Parameter übergibst oder in der Sub zuweist, kann ja nicht viel ändern. Die 8 (Bytes_in_row) Array-Elemente liegen ja direkt hintereinander im SRAM. Du holst dir also die Start_Adresse von Memory_red und den Offset auf das erste Element und inkrementierst dann nur noch diese Adresse. Genauso für die anderen Farben.
-
Ich würde versuchen, den wiederholten Aufruf der Sub Shift6out wegzulassen. Alleine der Aufruf kostet 75 Takte wegen der Array-Elemente, die Sub wird dann in 300 Takten ausgeführt, also 20% Overhead. Und in der inneren For-Schleife werden doch nur die beiden Indizes erhöht. Das kannst du doch auch leicht noch mit in die Sub packen.
-
Klar kannst du das so machen. In Sekunde 49 setzt du dann den OCR2 auf den gewünschten Wert (denke daran, dass der bei 0 startet), enablest dann den Compare2 und löschst das schon gesetzte Flag. In der Compare2 ISR disablest du den Interrupt dann wieder. Aufgrund der Auflösung von 3.9ms wirst du natürlich manchmal auch nicht besser mit der Genauigkeit sein als mit dem Waitms. Aber das scheint hier ja auch nicht soooooo wichtig zu sein. Wenn du weniger als 1% Duty Cycle hast (60ms/Minute) dann so…
-
Hallo Mitch, man braucht keinen Compare_Interrupt, um die PWM nutzen zu können. Dazu braucht der Controller nicht mal aufzuwachen, wenn er mit Powersave schlafen geschickt wurde. Der Timer2 läuft ja dann durch und beim Erreichen des Compare-Wertes wird der Ausgang gesetzt. Dazu muss der Timer2 nur in den Fast-PWM Mode gesetzt werden, nachdem Config Clock=Soft durchlaufen wurde. Aber: eine PWM mit 1Hz?
-
Manipulationen in einem Bildspeicher
Guenther - - LED-Anzeigen
BeitragBytes im Array umkopieren ist doch meistens überflüssig. Da kann man doch einfach einen Zeiger auf den Anfang setzen und diesen zum Shiften vergrößern bzw. verkleinern.