Config Adca = Free , Convmode = Unsigned , Resolution = 12bit , Dma = Ch012 , Reference = Int1v , Event_mode = None , Prescaler = 512 , Ch0_gain = 1 , Ch0_inp = Single_ended , Mux0 = &B000_00 , _
Ch1_gain = 1 , Ch1_inp = Single_ended , Mux1 = &B1_000 , Ch2_gain = 1 , Ch2_inp = Single_ended , Mux2 = &B10_000 , Ch3_gain = 1 , Ch3_inp = Single_ended , Mux3 = &B11_000 , Tempref = Enabled , Bandgap = Enabled
On Dma_ch2 Dma_ch2_int
Config Dma = Enabled , Doublebuf = Disabled , Cpm = Ch0rr123
Enable Interrupts
do
Config Dmach2 = Enabled , Burstlen = 2 , Chanrpt = Enabled , Tci = Lo , Eil = Lo , Singleshot = Enabled , _
Sar = Burst , Sam = Inc , Dar = None , Dam = Inc , Trigger = &H10 , Btc = 1000 , Repeat = 1 , Sadr = Varptr(adca_ch0_res) , Dadr = Varptr(channel_0(1))
Do
Loop Until Dma_ready = 1
Dma_ready = 0
'here is reading 500 samples from channel_0(1)
Dma_ch2_ctrla.7 = 1
Config Dmach2 = Enabled , Burstlen = 2 , Chanrpt = Enabled , Tci = Lo , Eil = Lo , Singleshot = Enabled , _
Sar = Burst , Sam = Inc , Dar = None , Dam = Inc , Trigger = &H10 , Btc = 200 , Repeat = 1 , Sadr = Varptr(adca_ch1_res) , Dadr = Varptr(channel2_0(1))
Do
Loop Until Dma_ready = 1
Dma_ready = 0
'here is reading 100 samples from channel2_0(1)
Dma_ch2_ctrla.7 = 1
loop
Dma_ch2_int: ' DMA Transaction complete
If Dma_intflags.2 = 1 Then ' Channel 0 Transaction Interrupt Flag
Set Dma_intflags.2 ' Clear the Channel 0 Transaction Complete flag
Set Dma_ready
End If
')
Return
|