Pytania, kody i porady dotyczące nie tylko Bascom.
-
pimowo
- Posty: 392
- Rejestracja: 28 maja 2016, 10:07
Post
autor: pimowo » 11 maja 2018, 6:28
Panowie, jak to jest z oversampling? Jak to działa i z czym to się je?
TUTAJ znalazłem kod, ale nie mogę zakumać o co chodzi.
$regfile = "m16def.dat"
$crystal = 8000000
'$lib "mcsbyte.lbx" ' for smaller code
Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.4 , Rs = Portb.5
Config Lcd = 16 * 2
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Stop Adc
Dim X As Word , Y As Word , C(2) As Single , N As Word , Sumx As Long , Sumy As Long
Dim Sy As String * 18 , Sx As String * 18 , Vx As String * 14 , Vy As String * 14
Cursor Off
Cls
Start Adc
Do
Sumy = 0
Sumx = 0
For N = 1 To 64
Y = Getadc(0)
'Power Adcnoise
X = Getadc(1)
'Power Adcnoise
Sumy = Sumy + Y
Sumx = Sumx + X
Next A
'Sy = Bin(sumy)
'Sx = Bin(sumx)
'Vy = Right(sy , 3)
'Vx = Right(sx , 3)
'C(1) = Val(vy)
'C(2) = Val(vx)
C(1) = Sumy / 8
C(2) = Sumx / 8
C(1) = C(1) - 3584
C(2) = C(2) - 3584
C(1) = C(1) * 0.175
C(2) = C(2) * 0.175
Locate 1 , 1
Lcd "X=" ; Fusing(c(2) , "#.##")
'Lcd Sy
Locate 2 , 1
Lcd "Y=" ; Fusing(c(1) , "#.##")
'Lcd Sx
Loop
End 'end program
Co oznaczają np te linie kodu:
C(1) = C(1) - 3584
C(1) = C(1) * 0.175
Co z kwarcem, czy musi być jakiś konkretny czy może być dowolny?
Chciałbym odczytywać 8x ADC w ten sposób.
-
Press
- Posty: 65
- Rejestracja: 21 sty 2018, 23:08
Post
autor: Press » 11 maja 2018, 14:38
Rozumiem, że nie chodzi koledze o przetaktowanie samego procesora ponad to co producent podaje jako częstotliwość maksymalną dla rdzenia.
Jeśli dobrze rozumiem i chodzi o nadpróbkowanie i sztuczne zwiększenie rozdzielczości przetwornika ADC to tutaj trochę opisano:
https://ep.com.pl/files/2877.pdf
-
pimowo
- Posty: 392
- Rejestracja: 28 maja 2016, 10:07
Post
autor: pimowo » 11 maja 2018, 14:48
Press pisze:Rozumiem, że nie chodzi koledze o przetaktowanie samego procesora ponad to co producent podaje jako częstotliwość maksymalną dla rdzenia.
Teraz mam testowo uC ATmega32 z rezonatorem kwarcowym 20MHz
Press pisze:Jeśli dobrze rozumiem i chodzi o nadpróbkowanie i sztuczne zwiększenie rozdzielczości przetwornika ADC
Dokładnie tak
Dzięki za lekturę, oczywiście poczytam.
-
pimowo
- Posty: 392
- Rejestracja: 28 maja 2016, 10:07
Post
autor: pimowo » 15 maja 2018, 9:09
Naczytałem się tyle tego, że już kompletnie nic nie rozumiem
Może mi ktoś powiedzieć czy w ogóle warto sobie tym głowę zawracać? Czy coś to pomoże w odczytach?