Hi, bevor ich lange rumprobiere dachte ich mir ich mach mich erstmal schlau, habe natürlich schon viel im Wiki gelesen und einiges versucht. Es geht um einen Tiny85 mit V-USB das ja schon den einzigen Interrupt des Tinys nutzt. Wäre nicht schlecht wenn ich jetzt einen Software-Uart RX Eingang dazu implementieren könnte, habe allerdings gelesen das das halt diesen 1 Interrupt benötigt. Ich weiß, eigentlich würde ich auch einen Hardware Uart bevorzugen aber nun hab ich leider alles dafür da :/ Gruß, Phil
Philipp K. schrieb: > Es geht um einen Tiny85 mit V-USB das ja schon den einzigen Interrupt > des Tinys nutzt. Das ist nicht der einzige. JEDER Pin des Tiny85 kann einen Interrupt erzeugen. Das hilft dir nur kaum. Das Problem ist, daß V-USB (gezungenermaßen) eine komplette LowSpeed-USB-Transaktion in einer ISR abarbeitet, anders könnte V-USB das dafür nötige Timing nicht sicherstellen. Durch derart lange Phasen exclusiver Codeausführung unterbrochen, kann ein Software-UART allerdings nur noch bei sehr geringen Bitraten funktionieren. Größenordnung 600Bit/s. Willst du mehr, mußt du den UART-Code mit dem USB-Code quasi "verschachteln". Das geht allerdings nur, wenn überhaupt noch freie Taktzyklen zum Verschachteln vorhanden sind. Bei 12MHz ist das also ziemlich hoffnunglos. Und natürlich geht es ganz sicher nicht, indem du irgendwo zusammengesuchten C-Code irgendwie zusammenleimst. Wenn du also keine Lust oder Zeit hast, wirklich zu programmieren, solltest du dringend in Erwägung ziehen, auf ein Teil mit Hardware-UART zu wechseln, denn das entspannt die Sachlage ganz erheblich, nämlich bei 8N1 knapp um den Faktor 20. Die gute Hälfte davon dadurch, daß halt über 10 UART-Bitzeiten hinweg alles ohne MCU geht, den Rest dadurch, daß das eingebaute Double Buffering das Abholen eines empfangenen Worts durch die MCU nochmal um fast eine Wortzeit verzögert ermöglicht.
Danke für Deine Antwort, ich habe es mir fast gedacht bzw das mit den sehr engen Zyklen war im Code nicht zu übersehen.. Dann kann ich quasie gleich auf einen m32u4 oder m32u2 zugreifen, da hab ich dann ein Sorglospaket. Ich werde mal selbst suchen, gibt es einen Tiny mit HW-Uart und min 8kb Flash? Befürchte der m8 ist schon fast das gleiche, der tiny168 sollte auch okay sein. Gruß, Philipp
Hm. was wäre wenn ich ein High-Signal hätte das die Ankunft der Uart Daten ankündigt?
Philipp K. schrieb: > Hm. was wäre wenn ich ein High-Signal hätte das die Ankunft der Uart > Daten ankündigt? das nützt dir nicht viel, denn dann müsstest du u.U. eine laufende USB-Übertragung zwangsbeenden um die UART zu bedienen - ich glaube kaum das das Sinn der Sache ist. Sascha
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.