XMega-A1 Xplained - Ausgabe über den Virtual Com Port

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • XMega-A1 Xplained - Ausgabe über den Virtual Com Port

      Hallo,

      vor mir liegt ein XMega-A1 Xplained von Atmel. Habe ein Programm mit BASCOM geschrieben, dass eine LED einfach an und ausschaltet und in den virtuellen COM port etwas ausdrucken soll:

      BASCOM Source Code

      1. $regfile = "xm128a1def.dat"
      2. $crystal = 32000000 '32MHz
      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 = Enabled , 32mhzosc = Enabled 'We use internal 32MHz
      10. Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1 'Internal 32MHz, no prescaler
      11. Config Porte.0 = Output 'Porte.0 as Output
      12. Porte.0 = 1
      13. $baud = 9600
      14. Config Com3 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
      15. Open "COM3:" For Binary As #1
      16. Waitms 1000
      17. Do
      18. Porte.0 = 0
      19. Waitms 1000
      20. Porte.0 = 1
      21. Waitms 1000
      22. Print #1 , "a"
      23. Loop
      24. End 'end program
      Display All

      Die LED blinkt fröhlich vor sich hin, aber leider zeigt mir der BASCOM-AVR Terminal Emulator keine Ausgabe an und auch mit putty bekomme ich keine Ausgabe. (siehe Bild mit Geräte-Manager, also Treiber sind drauf und die Baudrate etc müssten auch stimmen).



      Was habe Ich übersehen? Warum sehe ich keinen Output im Terminal Emulator?
      Files
    • keltik85 wrote:

      Open "COM3:" For Binary As #1
      Warum 'binary' und nicht 'output', wenn du Text "a" sendest?

      Ahhrgh, war nix, meine Frage, es sollte auch mit binary gehen.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Hallo keltik85,
      ich habe so ein XMega-A1 Xplained-Board schon länger hier rumliegen aber selbst noch nicht damit gespielt.
      Was mir in der Bascom-Hilfe abe aufgefallen ist:
      You also need to specify the baud rate. Do not use $BAUD.
      Vielleicht hilft das dir weiter.

      Gruß

      Chris
    • Hallo erstmal Danke für die Antworten.

      djmsc wrote:

      Hast du auch die richtigen Pins genommen?

      Laut Bascomhilfe:

      COM3 - UART_D0 = PORTD.3 (TX) und PORTD.2 (RX)
      Habe jetzt auch eine Doku gefunden: wiki.mcselec.com/bavr/CONFIG_COMX/de . Dort steht drin, dass CONFIG COM genau das von dir genannte einstellt, ich also nichts weiter tun muss. Falls ich noch anderen Code brauche wäre ich dankbar, wenn du deine Antwort noch etwas näher erläutern würdest. Hier ist nochmal meine Code Zeile, die laut Doku die richtigen Ports für COM3 öffnet:

      BASCOM Source Code

      1. Config Com3 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8

      Also der XMEGA-A1 ist mit USB mit meinem PC verbunden und daher kommt der XPLAINED Virtual Com Port (COM3) im Geräte-Manager zustande.

      _____________________________________________________________________________________

      oscar wrote:

      Hallo keltik85,
      ich habe so ein XMega-A1 Xplained-Board schon länger hier rumliegen aber selbst noch nicht damit gespielt.
      Was mir in der Bascom-Hilfe abe aufgefallen ist:
      You also need to specify the baud rate. Do not use $BAUD.
      Vielleicht hilft das dir weiter.

      Gruß

      Chris
      Kann ich leider auch nur auf die oben genannte Config COM3 Code-Zeile verweisen. dort ist baud auf 9600 eingestellt. Die Zeile $baud habe ich auskommentiert und es gibt immer noch keine Ausgabe im Terminal Emulator.

      _______________________________________________________________________________________

      zaubara wrote:

      Es ist der COM1 (UARTC0, RX - PC2, TX - PC3)

      lg
      Leider verstehe ich überhaupt nicht worauf du mit dieser Antwort hinauswillst. Im Bild zeige ich eindeutig den XPLAINED Virtual Com Port (COM3). Kannst du bitte deine Antwort näher erläutern?

      EDIT:

      Habe nun den XPLAINED Virtual Com Port auf COM1 gestellt und nun funktioniert die Ausgabe über putty. (siehe screenshot)


      Außerdem den Code auch auf COM1 geswtiched:

      Config Com1 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8


      Open "COM1:" For Binary As #1



      Danke mein Problem ist gelöst.
      Files
      • com3-com1.JPG

        (206.29 kB, downloaded 13 times, last: )

      The post was edited 5 times, last by keltik85 ().

    • djmsc wrote:

      keltik85 wrote:

      $baud = 9600
      Config Com3 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
      Open "COM3:" For Binary As #1
      Du hast aber zwei mal Baud angegeben. "$Baud = 9600" solltest du mal auskommentieren.Die Baudrate steht ja schon in "Config Com3 = 9600..." drin.
      Bitte meine Antwort zu Oscar nochmal durchlesen, das habe ich gemacht.
    • keltik85 wrote:

      zaubara wrote:

      Es ist der COM1 (UARTC0, RX - PC2, TX - PC3)

      lg
      Leider verstehe ich überhaupt nicht worauf du mit dieser Antwort hinauswillst. Im Bild zeige ich eindeutig den XPLAINED Virtual Com Port (COM3). Kannst du bitte deine Antwort näher erläutern?
      EDIT:

      Habe nun den XPLAINED Virtual Com Port auf COM1 gestellt und nun funktioniert die Ausgabe über putty. (siehe screenshot)
      Der AtXMega128A1 hat 8 UARTs, der erste (COM1) ist der UARTC0 (Pins PC2 bzw. PC3) der mit dem Board-Controller verbunden ist und als VCP weitergeleitet wird. Wie der PC-seitig heißt ist völlig egal.

      keltik85 wrote:

      Außerdem den Code auch auf COM1 geswtiched:

      Config Com1 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8


      Open "COM1:" For Binary As #1



      Danke mein Problem ist gelöst.

      Lg