Atxmega 16D4 Porte2/3 UART COM5

    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!

    • Atxmega 16D4 Porte2/3 UART COM5

      Hallo,

      ich habe vor langer Zeit mal ein Prog geschrieben, was den Atxmega als Schieberegister nutzt, nun muß ich Projekt bedingt nicht mehr 32 Bits lesen, sondern 48, also 2 Bytes mehr.
      Ok dachte ich, in meinem jugendlichen Leichtsinn, erweiterste halt den Buffer um zwei Bytes und los geht's, aber leider will das mal überhaupt nicht so.

      Um nun den Fehler auf dem Grund zu gehen wollte ich die Uart zum ausgeben der gelesen Bits nutzen.
      Laut Datenblatt könnte man die an Port Verfügbare Uarte0 (Pin E2/E3) nutzen, nur leider ist Bascom der Meinung, das dies für den 44 Pin xmega16/32 nicht geht, obwohl das Datenblatt mir sagt es geht.

      Leider ist meine damalige Entwicklungsumgebung nicht mehr auffindbar, da drauf war ein xmega128, auch die .bas habe ich noch, das wäre zu ideal, aber leider ist die nicht mehr zur Hand, egal.

      Wie bekomme ich es hin, das die Porte uart (weil sie frei ist) zu nutzen, oder habe ich im Datenblat und in der Bascomhilfe was falsch verstanden?

      Fehlermeldung: "Invalid data type [[0011] 0[USARTE0_CTRLB]...pfad zur Datei .bas

      Bascomversion 2.7.7

      Vielleicht kann mir da jemand auf die Sprünge helfen.

      mfg René

      BASCOM-Quellcode

      1. $regfile = "xm16d4def.dat"
      2. $crystal = 32000000
      3. $hwstack = 64
      4. $swstack = 40
      5. $framesize = 40
      6. $lib "xmega.lib"
      7. $external _xmegafix_clear
      8. $external _xmegafix_rol_r1014
      9. Config Osc = disabled , 32mhzosc = Enabled
      10. Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1
      11. Ddra = &B11111111
      12. Ddrb = &B11111111
      13. Ddrc = &B11111111
      14. Ddrd = &B00001111
      15. 'Ddre = &B11111111
      16. Config Com5 = 19200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8 'PE2/3 UASRTe0-COM5
      17. Open "COM5:" For Binary As #2
      18. '*** SPI config *******************************************************
      19. Spid_ctrl = &B01000011
      20. Spid_status = &B00000000
      21. Spid_intctrl = &B00000010
      22. Open "Spid" For Binary As #1
      23. Dim Rx(7) As Byte
      24. Do
      25. Input #1 = Rx(1 ) , Rx(2 ) , Rx(3 ) , Rx(4 ) , Rx(5 ) , Rx(6 ) , Rx(7 )
      26. porta.4=Rx(2).0
      27. porta.6=Rx(2).1
      28. Print #2 , "**********RX2******************************"
      29. Print #2 , "SPID_DATEN=" ; Rx(2) ; " " ; Rx(3) ; " " ; Rx(4) ; " " ; Rx(5); " " ; Rx(6) ; " " ; Rx(7)
      30. Print #2 , "SPID_DATEN_Binaer=" ; Bin(rx(2)) ; " " ; Bin(rx(3)) ; " " ; Bin(rx(4)) ; " " ; Bin(rx(5))" " ; Bin(rx(6)) " " ; Bin(rx(6))
      31. Print #2 , "LPF RX1=" ; Bin(rx(2)) ; Bin(rx(3))
      32. Print #2 , "BPF RX1=" ; Bin(rx(4)) ; Bin(rx(5))
      33. Print #2 , "BPF RX2=" ; Bin(rx(6)) ; Bin(rx(7))
      34. Print #2 , "'*********************************************"
      35. Print #2 , ""
      36. Loop
      37. End
      Alles anzeigen


    • Schau mal zB in der bascom-Hilfe unter chips avrhelp.mcselec.com/atxmega16d4.htm das Bildchen an, da ist unter porte keine uart eingetragen, also nicht da. Uarts sehe ich nur für c und d.
      Der atxmega 16A4 hat laut Bildchen im porte einen uart.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von tschoeatsch ()

    • Hallo,

      vielen dank für die Antworten, ok, dann habe ich mich wohl komplett vertan, dann muss ich wohl oder übel die Pins frei machen, zumindest für die Fehlersuche, habe gestern noch ein Update gemacht, auf die 2.7.9 Beta. läuft auch, bis auf das es eine Fehlermeldung ausgibt wenn ich ein "=" in den String einer Printanweisung schreibe, also Print #1 "Text xy =".

      ist aber trotzdem etwas verworen mit der Uart, habe leioder nur auf die schnelle das allg. Datenblatt gefunden, egal, nun weiß ich bescheid, vielen dank schonmal
      Dateien
      • TQPF44.jpg

        (73,96 kB, 4 mal heruntergeladen, zuletzt: )