Xmega odmierzanie 1 s, 100ms itp
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Xmega odmierzanie 1 s, 100ms itp
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.
pozdr. Jacek.
P.S. nowo zakupiony programator do xmeg śmiga aż miło - polecam.
- niveasoft
- Posty: 1219
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Xmega odmierzanie 1 s, 100ms itp
Zasada jest taka : Na Xmegach działa wszystko to co na Atmegach ...I DUŻO WIĘCEJ
Co tam konkretnie potrzebujesz bo pytanie było bardzo ogólne.
Co tam konkretnie potrzebujesz bo pytanie było bardzo ogólne.
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Xmega odmierzanie 1 s, 100ms itp
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.
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.
-
- Posty: 65
- Rejestracja: 21 sty 2018, 23:08
Re: Xmega odmierzanie 1 s, 100ms itp
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
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: 390
- Rejestracja: 17 sie 2015, 13:46
- Lokalizacja: Dublin, Ireland
- Kontakt:
Re: Xmega odmierzanie 1 s, 100ms itp
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.
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.
- niveasoft
- Posty: 1219
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Xmega odmierzanie 1 s, 100ms itp
Jacek to jest najprostszy i najszybszy konfig na Leona...masz tam nawet skonfigurowany Timer na 10ms z 32MHz
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
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...
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
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...
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- $regfile = "xm128a3udef.dat" 'FLASH-128KB,SRAM-8KB,EEP-2KB,7xTIMER,4xDMA,7xUSART,3xSPI,2xTWI,USB
- $crystal = 32000000 '32MHz
- $hwstack = 128 'FLASH 10K TIMES
- $swstack = 128 'EEPROM 100K TIMES
- $framesize = 512
- Debug Off
- Config Submode = New 'to sie zawsze przydaje :)
- Config Eeprom = Quick 'to sie przyda jak sie wprawisz :D
- ' ***************** SYSTEM CLOCK CONFIG **************************
- ' INTERNAL 32MHz NO PRESCALE
- '
- Config Osc = Disabled , 32mhzosc = Enabled , 32khzosc = Enabled
- Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1
- '
- ' ENABLING AUTOMATIC OSCILLATOR CALIBRATION
- Osc_dfllctrl.0 = 1
- Dfllrc32m_ctrl.0 = 1
- '#################################################################
- '# TIMER`s #
- Config Tcc0 = Normal , Prescale = 8
- Tcc0_per = 39999 '10ms @32MHz/8
- Do
- '--[ CO OKREŚLONY CZAS (TUTAJ 10ms)]--
- If Tcc0_intflags.0 = 1 Then
- Tcc0_intflags.0 = 1
- End If
- Loop
- End
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Xmega odmierzanie 1 s, 100ms itp
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.
pozdr. Jacek.
- niveasoft
- Posty: 1219
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Xmega odmierzanie 1 s, 100ms itp
No jakby było potrzebne TWI dla RTC albo któryś z USART to gadaj
Konfig dla każdego z SPI też pewnie się znajdzie
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"
Konfig dla każdego z SPI też pewnie się znajdzie
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"
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Xmega odmierzanie 1 s, 100ms itp
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 jest już gotowa i polutowana
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
Może wstawię główny plik to będzie widać co do czego użyłem mam nadzieje że dobrze bo pcb jest już gotowa i polutowana
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- '-------------------mam------------------------------------------------------
- '-----Xmega 128a3u project Electronic Leadscrew Lathe---------------------
- '-------------------------X3_1 Master-------------------------------------
- '-------------------------------------------------------------------------
- '$sim
- '===========================Xmega dont use $baud========================
- '$regfile = "xm256a3udef.dat"
- $regfile = "xm128a3udef.dat"
- $crystal = 32000000 '32MHz
- $hwstack = 128
- $swstack = 128
- $framesize = 200
- $lib "xmega.lib" : $external _xmegafix_clear : $external _xmegafix_rol_r1014
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- $projecttime = 368
- $version 0 , 0 , 126
- Dim Firmware As String * 6
- Firmware = " "
- Config Submode = New
- $include "subs\Function_Dwin_lcd_get_var_value.inc"
- $include "subs\LCD_page_set.inc"
- $include "subs\LCD_var_write.inc"
- $include "subs\Macro_Dwin_variables_constants_arrays.inc"
- $include "subs\Enc_rpm.inc"
- $include "subs\Enc_z_axis.inc"
- $include "subs\Enc_x_axis.inc"
- $include "subs\Drv_z_axis.inc"
- $include "subs\drv_x_axis.inc"
- $include "subs\Dro_z_axis.inc"
- $include "subs\Dro_x_axis.inc"
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- '========================System Clock Config==============================
- '====================Internal 32MHz No Prescale===========================
- Config Osc = Disabled , 32mhzosc = Enabled
- Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1
- '==================Enabling Automatic Oscilator Calibration===============
- Osc_dfllctrl.0 = 1
- Dfllrc32m_ctrl.0 = 1
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- '=================================Dynamic Uart============================
- Dim Buart_channel As Byte 'variable for dynamic UART channels
- Const Main_bus = 1 ' Main Rs485 Bus
- Const Debud_port = 2 'Debug port
- Const Sensor_bus = 3 'sensors RS485 bus
- Const Dwin = 4
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- '=============Configuration for com1 Uart_C0 X3_1=========================
- '===============TX-PORTC.3 RX-PORTC.2 com1 Inverter===============================
- Config Com1 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
- 'Open "Com1:"for Binary As #buart_channel 'no need to open any more
- Config Serialin1 = Buffered , Size = 128 , Bytematch = None 'for COM1
- Open "Com1:"for Binary As#1
- 'Config Input1 = Crlf , Echo = Cr
- 'Echo On
- '=============Configuration for com2 Uart_E0 X3_1=========================
- '===============TX-PORTE.3 RX-PORTE.2 com2 extra board===============================
- Config Com2 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
- 'Open "Com2:"for Binary As #buart_channel 'no need to open any more
- Config Serialin2 = Buffered , Size = 128 , Bytematch = None 'for COM2
- Open "Com2:"for Binary As#2
- 'Config Input2 = Crlf , Echo = Cr
- 'Echo On
- '=============Configuration for com3 Uart_E1 X3_1=========================
- '===============TX-PORTE.7 RX-PORTE.6 com3 X3_2===============================
- Config Com3 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
- 'Open "Com3:"for Binary As #buart_channel 'no need to open any more
- Config Serialin3 = Buffered , Size = 128 , Bytematch = None 'for COM3
- Open "Com3:"for Binary As#3
- 'Config Input3 = Crlf , Echo = Cr
- 'Echo On
- '=============Configuration for com4 Uart_F0==============================
- '===============TX-PORTF.3 RX-PORTF.2 com4 LCD DWIN===============================
- Config Com4 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
- 'Open "Com4:"for Binary As #buart_channel 'no need to open any more
- Config Serialin4 = Buffered , Size = 128 , Bytematch = None 'for COM4
- Open "Com4:"for Binary As#4
- 'Config Input1 = Crlf , Echo = Cr
- 'Echo On
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- '==================== Clock Config========================================
- 'we select the internal 1kHz clock from the 32kHz internal oscilator
- 'Config Clock = Soft , Rtc = 1khz_int32khz_rcosc
- 'Config Priority = Static , Vector = Application , Lo = Enabled , Med = Enabled 'the RTC uses LO priority
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- '+++++++++++++++++++++++++++Konfiguracja portów+++++++++++++++++++++++++++
- Config Porta.0 = Input 'enkoder RPM kanał Index
- Config Xpin = Porta.0 , Outpull = Pullup , Sense = Low_level 'podciągnięcie Portu Wyzwalanie Stan Niski
- En_rpm_i Alias Porta.0 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Porta.1 = Input 'enkoder RPM kanałB
- Config Xpin = Porta.1 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu, wyzwalanie stan niski
- En_rpm_b Alias Porta.1 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Porta.2 = Input 'enkoder RPM kanał A
- Config Xpin = Porta.2 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu, wyzwalanie stan niski
- En_rpm_a Alias Porta.2 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Porta.3 = Input 'enkoder pokretła osi Z kanał Index
- Config Xpin = Porta.3 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu, wyzwalanie stan niski
- En_z_i Alias Porta.3 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Porta.4 = Input 'enkoder pokretła osi Z kanał B
- Config Xpin = Porta.4 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu, wyzwalanie stan niski
- En_z_b Alias Porta.4 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Porta.5 = Input 'enkoder pokrętła osi Z kanał A
- Config Xpin = Porta.5 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu, wyzwalanie stan niski
- En_z_a Alias Porta.5 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Pina.6 = Input 'przycisk zerowania osi Z
- Config Xpin = Porta.6 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu, wyzwalanie stan niski
- Sw_zero_z_axis Alias Pina.6 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Pina.7 = Input 'przycisk zerowania osi X
- Config Xpin = Pina.7 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu, wyzwalanie stan niski
- Sw_zero_x_axis Alias Pina.7 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portb.0 = Input 'enkoder pokrętła osi X kanał Index
- Config Xpin = Portb.0 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu,wyzwalanie stan niski
- En_x_i Alias Portb.0 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portb.1 = Input 'enkoder pokrętła osi X kanał B
- Config Xpin = Portb.1 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu,wyzwalanie stan niski
- En_x_b Alias Portb.1 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portb.2 = Input 'enkoder pokrętła osi X kanał A
- Config Xpin = Portb.2 'podciągnięcie portu, wyzwalanie stan niski
- En_x_a Alias Portb.2 'nazwa własna kanału
- '-------------------------------------------------------------------------
- Config Portb.3 = Output 'kierunek osi Z
- Config Xpin = Portb.3 , Outpull = Totem 'ustawienie portu w stan wysoki
- Dir_z_axis Alias Portb.3 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portb.4 = Output 'zezwolenie osi Z
- Config Xpin = Portb.4 , Outpull = Totem 'ustawienie portu w stan wysoki
- Enab_z_axis Alias Portb.4 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portb.5 = Output 'zezwolenie osi X
- Config Xpin = Portb.5 , Outpull = Totem 'ustawienie portu w stan wysoki
- Enab_x_axis Alias Portb.5 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portb.6 = Output 'kierunek osi X
- Config Xpin = Portb.6 , Outpull = Totem 'ustawienie portu w stan wysoki
- Dir_x_axis Alias Portb.6 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portc.0 = Output 'krok osi Z
- Config Xpin = Portc.0 , Outpull = Totem 'ustawienie portu w stan wysoki
- Step_z_axis Alias Portc.0 'nazwa własn portu
- '-------------------------------------------------------------------------
- Config Portc.1 = Output 'krok osi X
- Config Xpin = Portc.1 , Outpull = Totem 'ustawienie portu w stan wysoki
- Step_x_axis Alias Portc.1 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portc.4 = Output 'przekaznik do zmiany kierunku CW falownika
- Config Xpin = Portc.4 , Outpull = Totem 'ustawienie portu w stan wysoki
- Inv_cw Alias Portc.4 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portc.5 = Output 'przekażnik do zmiany kierunku CCW falownika
- Config Xpin = Portc.5 , Outpull = Totem 'ustawienie portu w stan wysoki
- Inv_ccw Alias Portc.5 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portd.0 = Input 'przycisk recznej zmiany kierunku w prawo osi Z
- Config Xpin = Portd.0 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu, wyzwalanie stan niski
- Cw_sw Alias Portd.0 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portd.1 = Input 'przycisk recznej zmiany kierunku w lewo osi Z
- Config Xpin = Portd.1 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu, wyzwalanie stan niski
- Ccw_sw Alias Portd.1 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portd.5 = Output 'włączenie nadawania MAX3485 UART C0
- Config Xpin = Portd.5 , Outpull = Totem 'ustawienie portu w stan wysoki
- Rx_tx Alias Portd.5 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Porte.4 = Input 'praca w trybie automatycznym
- Config Xpin = Porte.4 , Outpull = Pullup , Sense = Low_level 'podciągniecie portu, wyzwalanie stan niski
- Man Alias Porte.4 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Porte.5 = Input 'praca e trybie ręcznym
- Config Xpin = Porte.5 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu, wyzwalanie stan niski
- Auto Alias Porte.5 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portf.0 = Input 'limit -X
- Config Xpin = Portf.0 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu, wyzwalanie stan niski
- X_minus_limit Alias Portf.0 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portf.1 = Input 'limit +X
- Config Xpin = Portf.1 , Outpull = Pullup , Sense = Low_level 'podciągnięcie portu, wyzwalanie stan niski
- X_plus_limit Alias Portf.1 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portf.4 = Input 'limit -Z
- Config Xpin = Portf.4 , Outpull = Pullup , Sense = Low_level 'podciagnięcie portu,wyzwalanie stan niski
- Z_minus_limit Alias Portf.4 'nazwa własna portu
- '-------------------------------------------------------------------------
- Config Portf.5 = Input 'limit +Z
- Config Xpin = Portf.5 , Outpull = Pullup , Sense = Low_level 'Podciagniecie Portu , Wyzwalanie Stan Niski
- Z_plus_limit Alias Portf.5 'nazwa własna portu
- '-------------------------------------------------------------------------
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- '++++++++++++++++++++++Event system config++++++++++++++++++++++++++++++++
- '----------------------------Enkoder RPM----------------------------------
- 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
- '----------------------------Enkoder pokrętła osi Z-----------------------
- 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
- '----------------------------Enkoder pokrętła osi X-----------------------
- 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
- '-------------------------------------------------------------------------
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- '++++++++++++++++++++++++++++++Zmienne++++++++++++++++++++++++++++++++++++
- '--------------------------Zmienne enkoderów------------------------------
- Dim Rpm_en_a As Dword 'zmienna enkodera obrotów kanał A
- Dim Rpm_en_b As Dword 'zmienna enkodera obrotów kanał B
- Dim Rpm_en_i As Word 'zmienna enkodera obrotów kanał Index
- '-------------------------------------------------------------------------
- Dim Z_en_a As Word 'zmienna enkodera pokrętła osi Z kanał A
- Dim Z_en_b As Word 'zmienna enkodera pokrętła osi Z kanał B
- Dim Z_en_i As Word 'zmienna enkodera pokrętła osi Z kanał Index
- '-------------------------------------------------------------------------
- Dim X_en_a As Word 'zmienna enkodera pokrętła osi X kanał A
- Dim X_en_b As Word 'zmienna enkodera pokrętła osi X kanał B
- Dim X_en_i As Word 'zmienna enkodera pokrętła osi X kanał Index
- '-------------------------------------------------------------------------
- '---------------------------Zmienne LCD DWIN------------------------------
- Dim Dwin_arr(8) As Byte 'tablica na adres LCD DWIN
- Dim Dwin_ad As Word At Dwin_arr(5) Overlay 'zmienna nakładki na adres LCD DWIN
- Dim Dwin_ad_tmp As Word 'zmienna pomocnicza nakładki na adres LCD DWIN
- Dim Dwin_val As Word At Dwin_arr(7) Overlay 'zmienna nakładki na wartość LCD DWIN
- Dim Dwin_val_tmp As Word 'zmienna pomocnicza nakładki na wartość LCD DWIN
- '-------------------------------------------------------------------------
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- '++++++++++++USTAWIENIA POCZĄTKOWE++++++++++++++++++++++++++++++++++++++++
- Do
- Loop
- End
pozdr. Jacek.
P.S. muszę już uciekać bo zostało mi 5 godzin snu
- tomaszdko
- Posty: 73
- Rejestracja: 06 gru 2018, 19:58
Re: Xmega odmierzanie 1 s, 100ms itp
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 .