Witam
1. Czy ktoś mógłby mi wytłumaczyć jak przeprowadzić konwersję z przetwornika 10bit (2 bajty) w M8 na 8bit (1bajt) aby dane zajmowały mniej miejsca - próbkuje 32khz.
2. Czy może da się jakoś ustawić przetwornik aby samplował z dokładnością 8bit ??
Pozdrawiam
Łukasz
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięAdc 10bit->8bit konwersja danych
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
' przetestuj ten programik
Kod proszę umieszczać między tagami 'code'. radzio
Kod: Zaznacz cały
Declare Function _get_adc(byval Channel As Byte ) As Byte
Config Adc = Single , Prescaler = 2 , Reference = Internal
Admux = Admux Or &H20
Start Adc
Dim W As Byte , Channel As Byte
'------------------------------------------------------------------------------
'
'------------------------------------------------------------------------------
Do
W = _get_adc(channel)
Print "Channel " ; Channel ; " value " ; W
Incr Channel
If Channel > 7 Then Channel = 0
Wait 1
Loop
End
'------------------------------------------------------------------------------
'
'------------------------------------------------------------------------------
Function _get_adc(byval Channel As Byte ) As Byte
Local I As Byte
Channel = Channel And &H07
I = Admux
I = I And &HF0
I = I Or Channel
Admux = I
Adcsra = Adcsra Or &H40
Do
I = Adcsra
I = I And &H40
If I = 0 Then
Exit Do
End If
Loop
_get_adc = Adch
End Function
Ostatnio zmieniony 24 sie 2007, o 11:39 przez radcorp, łącznie zmieniany 1 raz.
Witam
Dzięki za pomoc jednakże zrobiłem to inaczej
Dla testu podłączyłem potencjometr i sprawdziłem zakres - liczby pomiędzy 2 a 252
Niestety twój programik nie zadziałał - wrzuciłem go dla testu ale już nieszukałem co poprawić.
Pozdrawiam i dzięki
Łukasz
Dzięki za pomoc jednakże zrobiłem to inaczej
Kod: Zaznacz cały
wadc as byte
liczniczek as word
Admux = &B11100000 ' ustawienie adc zgodnie z notą i to co mi trzeba
'Start Adc
Adcsra = &B11100000 start adc zgodnie z notą jako free running czyli konwersja ciągła
Liczniczek = 0
Do
Incr Liczniczek
Wadc = Adch
Print Adch ; "--" ; Wadc
Loop Until Liczniczek = 512
Niestety twój programik nie zadziałał - wrzuciłem go dla testu ale już nieszukałem co poprawić.
Pozdrawiam i dzięki
Łukasz
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości