Xmega odmierzanie 1 s, 100ms itp

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

Xmega odmierzanie 1 s, 100ms itp

Post autor: Jacek » 28 maja 2020, 22:25

Witam - czy w Xmegach można odmierzać czasy tak jak w zwykłych avr? - chodzi mi o sprawdzianie np. staniu na pina wejściowych, odświeżania wyświetlacza itp.
pozdr. Jacek.

P.S. nowo zakupiony programator do xmeg śmiga aż miło - polecam.
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Xmega odmierzanie 1 s, 100ms itp

Post autor: niveasoft » 28 maja 2020, 22:36

Zasada jest taka : Na Xmegach działa wszystko to co na Atmegach ...I DUŻO WIĘCEJ :D
Co tam konkretnie potrzebujesz bo pytanie było bardzo ogólne.
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: Xmega odmierzanie 1 s, 100ms itp

Post autor: Jacek » 29 maja 2020, 20:16

Cześć - a więc potrzebuje sprawdzać co:
10ms odczytywać impulsy z enkoderów
100ms stan klawiszy
500ms czy nie trzeba uaktualnić danych wysyłanych na wyświetlacz

to na razie tyle procek to xmega128a3u na module Leon dil64.
pozdr. Jacek.
Press
Posty: 65
Rejestracja: 21 sty 2018, 23:08

Re: Xmega odmierzanie 1 s, 100ms itp

Post autor: Press » 29 maja 2020, 21:18

impulsy enkoderów?
Chodzi o takie pokrętła a'la rezystor do przewijana menu?
Xmega robi to sprzętowo i o ile pamiętam jeszcze zgłosi przerwanie.
Przykładowy kod jest chyba nawet gdzieś tu na tym forum.
O tu: viewtopic.php?f=18&t=66
Pikczu
Posty: 388
Rejestracja: 17 sie 2015, 13:46
Lokalizacja: Dublin, Ireland
Kontakt:

Re: Xmega odmierzanie 1 s, 100ms itp

Post autor: Pikczu » 30 maja 2020, 0:19

Jacek,
Timery w xmedze są jeszcze prostsze niż ATmega.
Każdy port ma dwa timery tłumaczenie z helpa:
W zależności od wybranego procesora Xmega istnieje jeden lub więcej timerów.
Xmega używa nazwy portu jako części nazwy.
Pierwszym portem z zegarem jest portC.
Pierwszy licznik nazywa się TCC0.
Większość portów timera ma 2 timery.
Następny licznik nazywa się TCC1.
Timery Xmega są 16-bitowe, ale można je kaskadowo ustawić na 32-bitowe lub mogą być ustawione w 8 bitowy tryb.
Możliwe nazwy timerów to: TCC0, TCC1, TCD0, TCD1, TCE0, TCE1, TCF0 i TCF1.

Teraz przykład z helpa do odliczania czasu:
'Counter/Timer D1 będzie użyty , przepełnienie co 400ms
'32MHz/256 = 125000 , dzielimy 32mhz na 256
'32MHz/256 = 125000 --> 125000/2.5 = 50000 '400ms
Więc piszesz.
Config Tcd1 = Normal , Prescale = 256
Tcd1_per = 50000

Jak znajdę chwile opisze to lepiej.
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Xmega odmierzanie 1 s, 100ms itp

Post autor: niveasoft » 01 cze 2020, 22:19

Jacek to jest najprostszy i najszybszy konfig na Leona...masz tam nawet skonfigurowany Timer na 10ms z 32MHz :P
Przerwania nie są akurat potrzebne bo sprawdzana jest flaga Timera ;)
Przyciski to bym sprawdzał trochę częściej niż 100ms..zazwyczaj to robie właśnie co 10ms i patrzę czy to długie wciśnięcie czy klik..a może bounce :D
Wyświetlacze odświeżam nie czasem a potrzebą czyli jak coś się zmieniło to ustawiam flagę Refresh. Enkodery najczęściej na przerwaniach z Nosave...
  1. $regfile = "xm128a3udef.dat"                                'FLASH-128KB,SRAM-8KB,EEP-2KB,7xTIMER,4xDMA,7xUSART,3xSPI,2xTWI,USB
  2. $crystal = 32000000                                         '32MHz
  3. $hwstack = 128                                              'FLASH 10K TIMES
  4. $swstack = 128                                              'EEPROM 100K TIMES
  5. $framesize = 512
  6.  
  7. Debug Off
  8.  
  9.  Config Submode = New                                       'to sie zawsze przydaje :)
  10.  Config Eeprom = Quick                                      'to sie przyda jak sie wprawisz :D
  11.  
  12.  ' ***************** SYSTEM CLOCK CONFIG **************************
  13. '                INTERNAL 32MHz NO PRESCALE
  14. '
  15. Config Osc = Disabled , 32mhzosc = Enabled , 32khzosc = Enabled
  16. Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1
  17. '
  18. ' ENABLING AUTOMATIC OSCILLATOR CALIBRATION
  19.     Osc_dfllctrl.0 = 1
  20.      Dfllrc32m_ctrl.0 = 1
  21.  
  22. '#################################################################
  23. '#                         TIMER`s                               #
  24.  
  25.  Config Tcc0 = Normal , Prescale = 8
  26.   Tcc0_per = 39999                                          '10ms @32MHz/8
  27.  
  28.  
  29. Do
  30.  
  31.  '--[ CO OKREŚLONY CZAS (TUTAJ 10ms)]--
  32.  If Tcc0_intflags.0 = 1 Then
  33.   Tcc0_intflags.0 = 1
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  End If
  40.  
  41. Loop
  42. End
  43.  
  44.  
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: Xmega odmierzanie 1 s, 100ms itp

Post autor: Jacek » 01 cze 2020, 22:47

Bardzo dziękuje za program. Załaduje go pewnie w weekend do Leona juto o 5 do Mszczonowa na montaż instalacji ppoż do PV i wrócę pewnie wieczorem do końca tygodnia również dożo pracy w qrl'u - jeszcze raz dziękuje.
pozdr. Jacek.
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Xmega odmierzanie 1 s, 100ms itp

Post autor: niveasoft » 01 cze 2020, 22:53

No jakby było potrzebne TWI dla RTC albo któryś z USART to gadaj :P
Konfig dla każdego z SPI też pewnie się znajdzie :D

Tak gwoli wyjaśnienia to ten konfig "$crystal=32000000" nie ustawia zegara na 32MHz tylko informuje Bascom z jaką prędkością będzie śmigał program.
Każda Xmega startuje sama od 2MHz i potem się ją przestawia na taki zegar jaki chcesz.
Jak napiszesz $crystal=32000000 a nie przestawisz jej na 32MHz to wszystkie opóźnienia czasowe typu "wait", "waitms" i "waitus" będą kulały... $crystal tylko informuje Bascom jaki programista przewiduje zegar.

Z drugiej strony to ja w tym kodzie zegar ustawiłem i możesz spróbować napisać "Waitms 500 : Toggle Jakis_pin" :D
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: Xmega odmierzanie 1 s, 100ms itp

Post autor: Jacek » 01 cze 2020, 23:01

OK jasne hi ja mam już porty poustawianie nie wiem czy dobrze wybrałem.
Może wstawię główny plik to będzie widać co do czego użyłem mam nadzieje że dobrze bo pcb :oops: jest już gotowa i polutowana
  1. '-------------------mam------------------------------------------------------
  2. '-----Xmega 128a3u project Electronic Leadscrew Lathe---------------------
  3. '-------------------------X3_1 Master-------------------------------------
  4. '-------------------------------------------------------------------------
  5. '$sim
  6. '===========================Xmega dont use $baud========================
  7.  
  8. '$regfile = "xm256a3udef.dat"
  9.  
  10.  
  11. $regfile = "xm128a3udef.dat"
  12. $crystal = 32000000                                         '32MHz
  13. $hwstack = 128
  14. $swstack = 128
  15. $framesize = 200
  16.  
  17. $lib "xmega.lib" : $external _xmegafix_clear : $external _xmegafix_rol_r1014
  18. '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  19. $projecttime = 368
  20. $version 0 , 0 , 126
  21. Dim Firmware As String * 6
  22. Firmware = " "
  23. Config Submode = New
  24. $include "subs\Function_Dwin_lcd_get_var_value.inc"
  25. $include "subs\LCD_page_set.inc"
  26. $include "subs\LCD_var_write.inc"
  27. $include "subs\Macro_Dwin_variables_constants_arrays.inc"
  28. $include "subs\Enc_rpm.inc"
  29. $include "subs\Enc_z_axis.inc"
  30. $include "subs\Enc_x_axis.inc"
  31. $include "subs\Drv_z_axis.inc"
  32. $include "subs\drv_x_axis.inc"
  33. $include "subs\Dro_z_axis.inc"
  34. $include "subs\Dro_x_axis.inc"
  35. '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  36. '========================System Clock Config==============================
  37. '====================Internal 32MHz No Prescale===========================
  38. Config Osc = Disabled , 32mhzosc = Enabled
  39. Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1
  40. '==================Enabling Automatic Oscilator Calibration===============
  41. Osc_dfllctrl.0 = 1
  42. Dfllrc32m_ctrl.0 = 1
  43. '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  44. '=================================Dynamic Uart============================
  45. Dim Buart_channel As Byte                                   'variable for dynamic UART channels
  46. Const Main_bus = 1                                          ' Main Rs485 Bus
  47. Const Debud_port = 2                                        'Debug port
  48. Const Sensor_bus = 3                                        'sensors RS485 bus
  49. Const Dwin = 4
  50. '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  51. '=============Configuration for com1 Uart_C0 X3_1=========================
  52. '===============TX-PORTC.3  RX-PORTC.2 com1 Inverter===============================
  53. Config Com1 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
  54. 'Open "Com1:"for Binary As #buart_channel                    'no need to open any more
  55. Config Serialin1 = Buffered , Size = 128 , Bytematch = None 'for COM1
  56. Open "Com1:"for Binary As#1
  57. 'Config Input1 = Crlf , Echo = Cr
  58. 'Echo On
  59. '=============Configuration for com2 Uart_E0 X3_1=========================
  60. '===============TX-PORTE.3  RX-PORTE.2 com2 extra board===============================
  61. Config Com2 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
  62. 'Open "Com2:"for Binary As #buart_channel                    'no need to open any more
  63. Config Serialin2 = Buffered , Size = 128 , Bytematch = None 'for COM2
  64. Open "Com2:"for Binary As#2
  65. 'Config Input2 = Crlf , Echo = Cr
  66. 'Echo On
  67. '=============Configuration for com3 Uart_E1 X3_1=========================
  68. '===============TX-PORTE.7  RX-PORTE.6 com3 X3_2===============================
  69. Config Com3 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
  70. 'Open "Com3:"for Binary As #buart_channel                    'no need to open any more
  71. Config Serialin3 = Buffered , Size = 128 , Bytematch = None 'for COM3
  72. Open "Com3:"for Binary As#3
  73. 'Config Input3 = Crlf , Echo = Cr
  74. 'Echo On
  75. '=============Configuration for com4 Uart_F0==============================
  76. '===============TX-PORTF.3  RX-PORTF.2 com4 LCD DWIN===============================
  77. Config Com4 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
  78. 'Open "Com4:"for Binary As #buart_channel                    'no need to open any more
  79. Config Serialin4 = Buffered , Size = 128 , Bytematch = None 'for COM4
  80. Open "Com4:"for Binary As#4
  81. 'Config Input1 = Crlf , Echo = Cr
  82. 'Echo On
  83. '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  84. '==================== Clock Config========================================
  85. 'we select the internal 1kHz clock from the 32kHz internal oscilator
  86. 'Config Clock = Soft , Rtc = 1khz_int32khz_rcosc
  87. 'Config Priority = Static , Vector = Application , Lo = Enabled , Med = Enabled       'the RTC uses LO priority
  88. '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  89. '+++++++++++++++++++++++++++Konfiguracja portów+++++++++++++++++++++++++++
  90. Config Porta.0 = Input                                      'enkoder RPM kanał Index
  91. Config Xpin = Porta.0 , Outpull = Pullup , Sense = Low_level       'podciągnięcie Portu Wyzwalanie Stan Niski
  92. En_rpm_i Alias Porta.0                                      'nazwa własna portu
  93. '-------------------------------------------------------------------------
  94. Config Porta.1 = Input                                      'enkoder RPM kanałB
  95. Config Xpin = Porta.1 , Outpull = Pullup , Sense = Low_level       'podciągnięcie portu, wyzwalanie stan niski
  96. En_rpm_b Alias Porta.1                                      'nazwa własna portu
  97. '-------------------------------------------------------------------------
  98. Config Porta.2 = Input                                      'enkoder RPM kanał A
  99. Config Xpin = Porta.2 , Outpull = Pullup , Sense = Low_level       'podciągnięcie portu, wyzwalanie stan niski
  100. En_rpm_a Alias Porta.2                                      'nazwa własna portu
  101. '-------------------------------------------------------------------------
  102. Config Porta.3 = Input                                      'enkoder pokretła osi Z kanał Index
  103. Config Xpin = Porta.3 , Outpull = Pullup , Sense = Low_level       'podciągnięcie portu, wyzwalanie stan niski
  104. En_z_i Alias Porta.3                                        'nazwa własna portu
  105. '-------------------------------------------------------------------------
  106. Config Porta.4 = Input                                      'enkoder pokretła osi Z kanał B
  107. Config Xpin = Porta.4 , Outpull = Pullup , Sense = Low_level       'podciągnięcie portu, wyzwalanie stan niski
  108. En_z_b Alias Porta.4                                        'nazwa własna portu
  109. '-------------------------------------------------------------------------
  110. Config Porta.5 = Input                                      'enkoder pokrętła osi Z kanał A
  111. Config Xpin = Porta.5 , Outpull = Pullup , Sense = Low_level       'podciągnięcie portu, wyzwalanie stan niski
  112. En_z_a Alias Porta.5                                        'nazwa własna portu
  113. '-------------------------------------------------------------------------
  114. Config Pina.6 = Input                                       'przycisk zerowania osi Z
  115. Config Xpin = Porta.6 , Outpull = Pullup , Sense = Low_level       'podciągnięcie portu, wyzwalanie stan niski
  116. Sw_zero_z_axis Alias Pina.6                                 'nazwa własna portu
  117. '-------------------------------------------------------------------------
  118. Config Pina.7 = Input                                       'przycisk zerowania osi X
  119. Config Xpin = Pina.7 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu, wyzwalanie stan niski
  120. Sw_zero_x_axis Alias Pina.7                                 'nazwa własna portu
  121. '-------------------------------------------------------------------------
  122. Config Portb.0 = Input                                      'enkoder pokrętła osi X kanał Index
  123. Config Xpin = Portb.0 , Outpull = Pullup , Sense = Low_level       'podciągnięcie portu,wyzwalanie stan niski
  124. En_x_i Alias Portb.0                                        'nazwa własna portu
  125. '-------------------------------------------------------------------------
  126. Config Portb.1 = Input                                      'enkoder pokrętła osi X kanał B
  127. Config Xpin = Portb.1 , Outpull = Pullup , Sense = Low_level       'podciągnięcie portu,wyzwalanie stan niski
  128. En_x_b Alias Portb.1                                        'nazwa własna portu
  129. '-------------------------------------------------------------------------
  130. Config Portb.2 = Input                                      'enkoder pokrętła osi X kanał A
  131. Config Xpin = Portb.2                                       'podciągnięcie portu, wyzwalanie stan niski
  132. En_x_a Alias Portb.2                                        'nazwa własna kanału
  133. '-------------------------------------------------------------------------
  134. Config Portb.3 = Output                                     'kierunek osi Z
  135. Config Xpin = Portb.3 , Outpull = Totem                     'ustawienie portu w stan wysoki
  136. Dir_z_axis Alias Portb.3                                    'nazwa własna portu
  137. '-------------------------------------------------------------------------
  138. Config Portb.4 = Output                                     'zezwolenie osi Z
  139. Config Xpin = Portb.4 , Outpull = Totem                     'ustawienie portu w stan wysoki
  140. Enab_z_axis Alias Portb.4                                   'nazwa własna portu
  141. '-------------------------------------------------------------------------
  142. Config Portb.5 = Output                                     'zezwolenie osi X
  143. Config Xpin = Portb.5 , Outpull = Totem                     'ustawienie portu w stan wysoki
  144. Enab_x_axis Alias Portb.5                                   'nazwa własna portu
  145. '-------------------------------------------------------------------------
  146. Config Portb.6 = Output                                     'kierunek osi X
  147. Config Xpin = Portb.6 , Outpull = Totem                     'ustawienie portu w stan wysoki
  148. Dir_x_axis Alias Portb.6                                    'nazwa własna portu
  149. '-------------------------------------------------------------------------
  150. Config Portc.0 = Output                                     'krok osi Z
  151. Config Xpin = Portc.0 , Outpull = Totem                     'ustawienie portu w stan wysoki
  152. Step_z_axis Alias Portc.0                                   'nazwa własn portu
  153. '-------------------------------------------------------------------------
  154. Config Portc.1 = Output                                     'krok osi X
  155. Config Xpin = Portc.1 , Outpull = Totem                     'ustawienie portu w stan wysoki
  156. Step_x_axis Alias Portc.1                                   'nazwa własna portu
  157. '-------------------------------------------------------------------------
  158. Config Portc.4 = Output                                     'przekaznik do zmiany kierunku CW falownika
  159. Config Xpin = Portc.4 , Outpull = Totem                     'ustawienie portu w stan wysoki
  160. Inv_cw Alias Portc.4                                        'nazwa własna portu
  161. '-------------------------------------------------------------------------
  162. Config Portc.5 = Output                                     'przekażnik do zmiany kierunku CCW falownika
  163. Config Xpin = Portc.5 , Outpull = Totem                     'ustawienie portu w stan wysoki
  164. Inv_ccw Alias Portc.5                                       'nazwa własna portu
  165. '-------------------------------------------------------------------------
  166. Config Portd.0 = Input                                      'przycisk recznej zmiany kierunku w prawo osi Z
  167. Config Xpin = Portd.0 , Outpull = Pullup , Sense = Low_level       'podciągnięcie portu, wyzwalanie stan niski
  168. Cw_sw Alias Portd.0                                         'nazwa własna portu
  169. '-------------------------------------------------------------------------
  170. Config Portd.1 = Input                                      'przycisk recznej zmiany kierunku w lewo osi Z
  171. Config Xpin = Portd.1 , Outpull = Pullup , Sense = Low_level       'podciągnięcie portu, wyzwalanie stan niski
  172. Ccw_sw Alias Portd.1                                        'nazwa własna portu
  173. '-------------------------------------------------------------------------
  174. Config Portd.5 = Output                                     'włączenie nadawania MAX3485 UART C0
  175. Config Xpin = Portd.5 , Outpull = Totem                     'ustawienie portu w stan wysoki
  176. Rx_tx Alias Portd.5                                         'nazwa własna portu
  177. '-------------------------------------------------------------------------
  178. Config Porte.4 = Input                                      'praca w trybie automatycznym
  179. Config Xpin = Porte.4 , Outpull = Pullup , Sense = Low_level       'podciągniecie portu, wyzwalanie stan niski
  180. Man Alias Porte.4                                           'nazwa własna portu
  181. '-------------------------------------------------------------------------
  182. Config Porte.5 = Input                                      'praca e trybie ręcznym
  183. Config Xpin = Porte.5 , Outpull = Pullup , Sense = Low_level       'podciągnięcie portu, wyzwalanie stan niski
  184. Auto Alias Porte.5                                          'nazwa własna portu
  185. '-------------------------------------------------------------------------
  186. Config Portf.0 = Input                                      'limit -X
  187. Config Xpin = Portf.0 , Outpull = Pullup , Sense = Low_level       'podciągnięcie portu, wyzwalanie stan niski
  188. X_minus_limit Alias Portf.0                                 'nazwa własna portu
  189. '-------------------------------------------------------------------------
  190. Config Portf.1 = Input                                      'limit +X
  191. Config Xpin = Portf.1 , Outpull = Pullup , Sense = Low_level       'podciągnięcie portu, wyzwalanie stan niski
  192. X_plus_limit Alias Portf.1                                  'nazwa własna portu
  193. '-------------------------------------------------------------------------
  194. Config Portf.4 = Input                                      'limit -Z
  195. Config Xpin = Portf.4 , Outpull = Pullup , Sense = Low_level       'podciagnięcie portu,wyzwalanie stan niski
  196. Z_minus_limit Alias Portf.4                                 'nazwa własna portu
  197. '-------------------------------------------------------------------------
  198. Config Portf.5 = Input                                      'limit +Z
  199. Config Xpin = Portf.5 , Outpull = Pullup , Sense = Low_level       'Podciagniecie Portu , Wyzwalanie Stan Niski
  200. Z_plus_limit Alias Portf.5                                  'nazwa własna portu
  201. '-------------------------------------------------------------------------
  202. '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  203. '++++++++++++++++++++++Event system config++++++++++++++++++++++++++++++++
  204. '----------------------------Enkoder RPM----------------------------------
  205. Config Event_system = Dummy , Mux0 = Porta.0 , Qd0 = Enabled , Qdi0 = Enabled , Digflt0 = 8       'konfiguracja systemu zdarzeń multiplexer kanał 0 ,porta.0, obsługa enkodera QDO włączona, filtr cyfrowy 8
  206. '----------------------------Enkoder pokrętła osi Z-----------------------
  207. Config Event_system = Dummy , Mux0 = Porta.3 , Qd0 = Enabled , Qdi0 = Enabled , Digflt0 = 8       'konfiguracja systemu zdarzeń multiplexer kanał 0 ,porta.3, obsługa enkodera QDO włączona, filtr cyfrowy 8
  208. '----------------------------Enkoder pokrętła osi X-----------------------
  209. Config Event_system = Dummy , Mux0 = Portb.0 , Qd0 = Enabled , Qdi0 = Enabled , Digflt0 = 8       'konfiguracja systemu zdarzeń multiplexer kanał 0 ,portb.0, obsługa enkodera QDO włączona, filtr cyfrowy 8
  210. '-------------------------------------------------------------------------
  211. '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  212. '++++++++++++++++++++++++++++++Zmienne++++++++++++++++++++++++++++++++++++
  213. '--------------------------Zmienne enkoderów------------------------------
  214. Dim Rpm_en_a As Dword                                       'zmienna enkodera obrotów kanał A
  215. Dim Rpm_en_b As Dword                                       'zmienna enkodera obrotów kanał B
  216. Dim Rpm_en_i As Word                                        'zmienna enkodera obrotów kanał Index
  217. '-------------------------------------------------------------------------
  218. Dim Z_en_a As Word                                          'zmienna enkodera pokrętła osi Z kanał A
  219. Dim Z_en_b As Word                                          'zmienna enkodera pokrętła osi Z kanał B
  220. Dim Z_en_i As Word                                          'zmienna enkodera pokrętła osi Z kanał Index
  221. '-------------------------------------------------------------------------
  222. Dim X_en_a As Word                                          'zmienna enkodera pokrętła osi X kanał A
  223. Dim X_en_b As Word                                          'zmienna enkodera pokrętła osi X kanał B
  224. Dim X_en_i As Word                                          'zmienna enkodera pokrętła osi X kanał Index
  225. '-------------------------------------------------------------------------
  226. '---------------------------Zmienne LCD DWIN------------------------------
  227. Dim Dwin_arr(8) As Byte                                     'tablica na adres LCD DWIN
  228. Dim Dwin_ad As Word At Dwin_arr(5) Overlay                  'zmienna nakładki na adres LCD DWIN
  229. Dim Dwin_ad_tmp As Word                                     'zmienna pomocnicza nakładki na adres LCD DWIN
  230. Dim Dwin_val As Word At Dwin_arr(7) Overlay                 'zmienna nakładki na wartość LCD DWIN
  231. Dim Dwin_val_tmp As Word                                    'zmienna pomocnicza nakładki na wartość LCD DWIN
  232. '-------------------------------------------------------------------------
  233. '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  234. '++++++++++++USTAWIENIA POCZĄTKOWE++++++++++++++++++++++++++++++++++++++++
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244. Do
  245.  
  246.  
  247.  
  248. Loop
  249. End
oczywiście bardzo dużą pomoc miałem od Pawła Pikczu.
pozdr. Jacek.
P.S. muszę już uciekać bo zostało mi 5 godzin snu :D
Awatar użytkownika
tomaszdko
Posty: 62
Rejestracja: 06 gru 2018, 19:58

Re: Xmega odmierzanie 1 s, 100ms itp

Post autor: tomaszdko » 02 cze 2020, 21:49

Czy to będzie program do tokarki bo widze DRO dla osi ? Chciałem kupić na ebay dro ale nie wiem czy warto bo na YT są pokazane jako mało precyzyjne i gubią wymiar (nie chcę wywalić kasy w błoto) , myślałem też o przerobieniu tokarki na cnc ale to w dalszych planach do puki nie przerobię frezarki na 1,5kw wrzeciono .
ODPOWIEDZ