Attiny24 Soft-Uart

    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!

    • Attiny24 Soft-Uart

      Guten Morgen allerseits,

      ich habe eine kleine Schaltung mit einen Attiny24 aufgebaut, mit der ich über einen seriellen Befehl 3 Ausgänge schalten möchte und zyklisch ein Lebenszeichen über die serielle sende.
      Das Testprogramm im Anhang funktioniert kurz, was komisch ist, sobald ich Spannung anlege, dauert es gut 10 Sekunden bis der erste String gesendet wird, dann funktioniert die Loop Schleife 3x wobei die Wait-Zeit auch nicht wirklich stimmt, nach den 3x test, Hallo, test, Hallo,.... kommt nur mehr ganz schnell test.
      Es macht keinen unterschied, ob ich über den internen Oszillator oder den Quarz einstelle.

      Vorerst vielen Dank für eure Hilfe.

      Flo
      Dateien
      • Test_UART.bas

        (321 Byte, 26 mal heruntergeladen, zuletzt: )
    • ich habe den Reset widerstand gesetzt, Oszillator schwingt, Kondensator ganz nahe am µc gesetzt, die Schaltung sogar mit einer Batterie versorgt, Watchdog aus, anderer µc verwendet.

      Hab das ganze mit einen attiny2313 aufgebaut und es geht.
      würde es aber gerne aus Platzgründen mit einen Attiny24 machen.

      Kann es sein, dass mit der Soft-Uart mit den ausgewählten Pins A.0 + A.1 was nicht passt?
    • logo_flo schrieb:

      Kann es sein, dass mit der Soft-Uart mit den ausgewählten Pins A.0 + A.1 was nicht passt?
      Was steht denn in den Datenblättern so als Voraussetzung dass es passt? Gedanken machen, welchen Status haben Ports nach einem Reset. (Mithin das starten wenn Betriebsspannung vorhanden ist, also quasi Reset.) Mark Alberts kann nicht an Alle denken, nicht Alle Prozessoren sind gleich, verhalten sich gleich.
      Damit Ports so funktionieren wie man es erwartet, sind Vorbedingungen (Config Einstellungen) nötig.

      Config Com wird wohl nur funktionieren, wenn Prozessor einen echten Hardware-Uart hat. Ports die im sogenannten Tristate sind, bleiben oft dort, oder nehmen irgendwann zufälligen Status an. Zufällig ist einiges in dem Miniprogram. Woher soll der Port fürs senden wissen, dass er Ausgang sein soll? Woher der empfangende Port dass er Eingang sein soll?
      Ob die Coma.0 und Coma.1 Anweisungen das bewirken und automatisch die Ports richtig vorbereiten, kann man glauben, vermuten. Prüfe bitte entsprechend.
    • Das muß man nicht glauben das kann man im Simulator sehen, oder in Real austesten. Für einen HW Uart werden die Config Com nicht benötigt, da reicht ein $Baud. Es ist einer der Vorteile das Bascom "mitdenkt" : wenn ein Config eine Output definiert wird er auch so gesetzt. Zufällig ist da auch nichts. Die Register haben nach jedem Reset einen definierten Zustand und der Speicher wird von Bascom gelöscht. Letzteres passiert immer wenn man es nicht expliziert abschaltet. ($noramclear)

      logo_flo schrieb:

      ich habe den Reset widerstand gesetzt
      Mal die Spannung gemessen? Ich hab einen Mega 8 hier dessen Reset braucht einen sehr kleinen Widerstand. Vielleicht ist Deinem Tiny ähnlich böses passiert.