Xmega128a3u com7

Rodzina procesorów bogatszych w wiele nowych rozwiązań i dlatego warto po nie sięgnąć.
ODPOWIEDZ
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Xmega128a3u com7

Post autor: Jacek » 11 lip 2020, 17:11

Witam - mam problem przy kompilacji programu do sprawdzenia działania wyświetlacza Dwin - ma on mieć komunikację z Xmega poprzez port com7 ale wyskakuje błąd.

Don't forget that Serial numbers should not be sent to the user list.
Make sure you sent your email to support and not a public list !

Compiler version :2.0.8.2
Compiler build :2.0.8.2.003
IDE version :2.0.8.2.015
Serial number :xx-xxxx-xxxxx
Windows OS :Windows 7 Ultimate
Windows SP :Service Pack 1
Company :
Owner :Jacek
Windows dir :C:\Windows
App data dir :C:\Users\Jacek\AppData\Roaming\MCS Electronics
System dir :C:\Windows\system32

  1. '*******************************************************************************
  2. '************ CONFIGURATION 'COM6 UART_E1 **************************************
  3. '              ' TX-PORTE.7 ' RX-PORTE.6   xmega2
  4. Config Com6 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
  5.  'Open "COM6:" For Binary As #buart_channel                  'channel 6
  6. Config Serialin6 = Buffered , Size = 128 , Bytematch = None
  7. Config Serialout6 = Buffered , Size = 128
  8. Open "COM6:" For Binary As #6
  9.    'Config Input1 = Crlf , Echo = Cr
  10.   ' Echo on
  11. '
  12. '*******************************************************************************
  13. '************ CONFIGURATION 'COM7 UART_F0 **************************************
  14. '              ' TX-PORTF.3 ' RX-PORTF.2   dwin
  15. Config Com7 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
  16.  'Open "COM7:" For Binary As #buart_channel                  'channel 7
  17. Config Serialin7 = Buffered , Size = 128 , Bytematch = None
  18. Config Serialout7 = Buffered , Size = 128
  19. Open "COM7:" For Binary As #7
  20.    'Config Input1 = Crlf , Echo = Cr
  21.   ' Echo on
  22. '
  23. '*******************************************************************************
tak są skonfigurowane porty a komunikat jest taki
  1. Error : 117   Line :   97    Unknown interrupt [URXC7]  , in File : J:\Projekty-Bascom\Xmega_Dwin_Pan_Jacek\Xmega_dwin_main.bas
  2. Error : 85    Line :   97    Unknown interrupt source [URXC7]  , in File : J:\Projekty-Bascom\Xmega_Dwin_Pan_Jacek\Xmega_dwin_main.bas
co może być przyczyną że program się nie kompiluje.
pozdrawiam Jacek.
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: Xmega128a3u com7

Post autor: Jacek » 12 lip 2020, 18:33

Witam - z konfiguracja portów poradziłem sobie ale jest mały problem.
jeżeli napisze tak
  1. '===============TX-PORTE.3  RX-PORTE.2 com2 extra board===============================
  2. Config Com5 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
  3. 'Open "Com2:"for Binary As #buart_channel                    'no need to open any more
  4. 'Config Serialin4 = Buffered , Size = 128 , Bytematch = None 'for COM2
  5. 'Config Serialout4 = Buffered , Size = 128
  6. Open "Com5:"for Binary As#4
  7. 'Config Input2 = Crlf , Echo = Cr
  8. 'Echo On
to xmega wysyła do terminala poprzez usb takie coś
  1.  Print #4 , "cos tam"  
jeżeli napiszę tak
  1. '===============TX-PORTE.3  RX-PORTE.2 com2 extra board===============================
  2. Config Com5 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
  3. 'Open "Com2:"for Binary As #buart_channel                    'no need to open any more
  4. Config Serialin4 = Buffered , Size = 128 , Bytematch = None 'for COM2
  5. 'Config Serialout4 = Buffered , Size = 128
  6. Open "Com5:"for Binary As#4
  7. 'Config Input2 = Crlf , Echo = Cr
  8. 'Echo On
to xmega nie wysyła nic
a jeżeli napiszę tak
  1. '===============TX-PORTE.3  RX-PORTE.2 com2 extra board===============================
  2. Config Com5 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
  3. 'Open "Com2:"for Binary As #buart_channel                    'no need to open any more
  4. Config Serialin4 = Buffered , Size = 128 , Bytematch = None 'for COM2
  5. Config Serialout4 = Buffered , Size = 128
  6. Open "Com5:"for Binary As#4
  7. 'Config Input2 = Crlf , Echo = Cr
  8. 'Echo On
to po kilku sekundach xmega zawiesza się mam dla kontroli zrobione mruganie diodami led na 3 portach
czy jest coś źle skonfigurowane?
pozdrawiam Jacek.
Awatar użytkownika
niveasoft
Posty: 1239
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Xmega128a3u com7

Post autor: niveasoft » 12 lip 2020, 18:41

Dla buforowanego seriala musisz włączyć przerwania.
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: Xmega128a3u com7

Post autor: Jacek » 12 lip 2020, 19:24

Dziękuję Bartku za podpowiedź, działa.
pozdrawiam Jacek.
Awatar użytkownika
tomaszdko
Posty: 78
Rejestracja: 06 gru 2018, 19:58

Re: Xmega128a3u com7

Post autor: tomaszdko » 25 paź 2020, 12:28

Podepnę się pod temat UART .Miałem trochę przerwy od bascoma i mam problem z odbieraniem zmiennych w przerwaniu .
  1. $regfile = "xm128a3udef.dat"
  2. $crystal = 60000000 '60MHz
  3. $hwstack = 60
  4. $swstack = 60
  5. $framesize = 60
  6. $lib "xmega.lib"
  7. Config Osc = Enabled , Pllosc = Enabled , Pllmul = 30
  8. Config Sysclock = pll
  9. Enable Interrupts
  10. Config Priority = Static , Vector = Application , Lo = Enabled
  11. '----------------------------------------------------------------------------------------------------------------------------
  12. '-------------------------------------------------         UART          ----------------------------------------------------
  13. '----------------------------------------------------------------------------------------------------------------------------
  14. 'Config Input4 = Crlf , Echo = Crlf
  15. Config Com5 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8        ' wys-c.3 , odb- c.2
  16. Open "COM5:" For Binary As #1
  17. Config Serialin4 = Buffered , Size = 50 , Bytematch = 13
  18. Enable USARTe0_RXC, lo
  19. '----------------------------------------------------------------------------------------------------------------------------
  20. '-------------------------------------------------         LCD 128x160          ---------------------------------------------
  21. '----------------------------------------------------------------------------------------------------------------------------
  22. $lib "glcd-ST7735R_april.lib"
  23. $lib "glcd.lbx"
  24. Config Vport0 = f
  25. Config Graphlcd = Color , A0 = Port0.3 , Si = Port0.5 , Sclk = Port0.6 , Cs1 = Port0.4, Rst = Port0.7
  26. Const Portrait = 0
  27. Const Rotate_180 = 0
  28. Const Blue = &B00000011
  29. Const Yellow = &B11111100
  30. Const Red = &B11100000
  31. Const Green = &B00011100
  32. Const Black = &B00000000
  33. Const White = &B11111111
  34. Const Brightgreen = &B00111110
  35. Const Darkgreen = &B00010100
  36. Const Darkred = &B10100000
  37. Const Darkblue = &B00000010
  38. Const Brightblue = &B00011111
  39. Const Orange = &B11111000
  40. Const Violet = &B11100011
  41. Setfont Color8x8
  42. Initlcd
  43. Boxfill(0 , 0) -(160 , 128) ,black
  44. ' CS1 nie musisz podłączyć ,A0=ss,si=mosi,sclk=miso,rst=sck
  45. '----------------------------------------------------------------------------------------------------------------------------
  46. '-------------------------------------------------         ZMIENNE           ------------------------------------------------
  47. '----------------------------------------------------------------------------------------------------------------------------
  48. dim n as string*50
  49. dim m as string*50
  50. dim pom as word
  51. '----------------------------------------------------------------------------------------------------------------------------
  52.  
  53. Do
  54.  pom=pom+1
  55.  
  56.  lcdat  10  , 0 , m ,white ,black
  57.  lcdat  20  , 0 , pom ,white ,black
  58.  lcdat  30  , 0 , _rs_bufcountr5 ,white ,black
  59.  
  60. Loop
  61. End
  62.  
  63. '****************************************************************************************************************************
  64.  
  65. Serial4CharMatch:
  66. Pushall
  67. input #1, m Noecho
  68. n=m
  69. CLEAR SERIALIN4
  70. Popall
  71. Return
  72.  
  73. $include "color8x8.font"

Ten programik jest testowy do pokazania problemu . Na wyświetlaczu zmienna pom jest zwiększana by widzieć życie xmega . W trakcie wpisywania na klawiaturze zmienna _rs_bufcountr5 zwiększa się pokazując że do bufora trafiają następne znaki . I do tej pory jest ok ale po wciśnięciu enter wiesza cały program. Potrzeba mi jakiś przykład uart z Bytematch = 13
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: Xmega128a3u com7

Post autor: Jacek » 25 paź 2020, 12:29

Wstaw Kolego ten listing poprawnie dla składni Bascom'a.
pozdrawiam Jacek.
Awatar użytkownika
niveasoft
Posty: 1239
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Xmega128a3u com7

Post autor: niveasoft » 25 paź 2020, 19:48

Jeśli naciskasz Enter to wysyłasz 13, ale masz zakomentowane "Config Input"
W Helpie w temacie Config Input można przeczytać, że domyślnym ustawieniem jest CRLF więc po wejściu w Bytemach = 13 program czeka jeszcze na znak 10 czyli LF....
Napisz Config Input = CR i po sprawie.

Proszę na przyszłość zapoznaj się z tą krótka instrukcją -> viewtopic.php?f=3&t=107
Awatar użytkownika
tomaszdko
Posty: 78
Rejestracja: 06 gru 2018, 19:58

Re: Xmega128a3u com7

Post autor: tomaszdko » 25 paź 2020, 23:14

To nie to , teraz zajarzyłem że przecież obsługa samego wyświetlacza sporo musi pamięci pobrać jak i bufor . Zwiększyłem

$hwstack = 100
$swstack = 100
$framesize = 100

Od razu chodzi jak trzeba (od paru miesięcy siedziałem przy cad/cam fusion360 pod frezarkę i nie miałem czasu , łapięsię teraz na takich pierdołach).

https://www.youtube.com/watch?v=2mgZWIh ... e=youtu.be

Chodzi jak trzeba bez zacinania lub wieszania.
ODPOWIEDZ