Otóż zrobiłem sobie na M32 w Bas na Lcd 128x240 prosty oscyloskop, taki jak widziałem na innych stronach , dobrze pokazuje kwadrat do ok 4Khz, co jest normalne dla M32.
Uwaga, fragment kodu z zapełnieniem tablicy i oscylogramem jest napisany przez kogoś z elektrody, nie pamiętam kogo, Ja go sobie lekko przerobiłem i dopasowałem.
oto kod:
Działa bardzo dobrze, i tu moje pytanie - jak zrobić funkcję która by działała jak wyzwalanie zboczem rosnącym ??
I jak tu obliczać częstotliwość sygnału jeśli jest stały?
Jak widzicie w kodzie już jest coś podobnego, ale bardziej działa jak Pauza niż wyzwalanie.
Na preskalerze = 64 bardzo dobrze widać sygnał PPM z aparatury RC, po to zresztą zrobiłem ten niby-oscyloskop.
Na pierwszym widać oscylogram gdy 2 ostatnie kanały są na minimum, na drugim 2 ostatnie na max.
Pozdrawiam i czekam na porady.
Dodano po 3 [godziny] 24 [minuty]:
Mam jeszcze inne zagadnienie:
Otóż interesuję się Xmega128A1 , i one są na 3.6V max, czy można do niej zwyczajnie podłączyć 5Voltowy RAM 62256, lub inne jak LCD które działają na 5V?? Czy Xmega zniesie logiczne 5V z ramu, i czy ten LCD załapie 3.6V z xmegi?
Czy trzeba jakieś konwertery czy ram zadziała na tym niższym napięciu?
Interesuję się Xmegą bo w nocie wyczytałem że wyrabia 2msps, i mogę kupić do niej programator za 50zł a nie 180...
Uwaga, fragment kodu z zapełnieniem tablicy i oscylogramem jest napisany przez kogoś z elektrody, nie pamiętam kogo, Ja go sobie lekko przerobiłem i dopasowałem.
oto kod:
If B4 = 1 Then
If Key = 26 Then : Ba = 1 : End If 'Wybór preskalera adc
If Key = 27 Then : Bb = 1 : End If '1,2,3,4
If Key = 28 Then : Bc = 1 : End If
If Key = 29 Then : Bd = 1 : End If
If Ba = 1 Then
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Locate 3 , 30 : Lcd "Prsc=Auto"
End If
If Bb = 1 Then
Config Adc = Single , Prescaler = 32 , Reference = Avcc
Locate 3 , 30 : Lcd "Prsc=32"
End If
If Bc = 1 Then
Config Adc = Single , Prescaler = 64 , Reference = Avcc
Locate 3 , 30 : Lcd "Prsc=64"
End If
If Bd = 1 Then
Config Adc = Single , Prescaler = 128 , Reference = Avcc
Locate 3 , 30 : Lcd "Prsc=128"
End If
If Key = 4 Then : Ba = 0 : Bb = 0 : Bc = 0 : Bd = 0 : End If 'kasacja ustawienia presc
Vt = Nap1 * 0.0045 'dopasować, obliczanie bitów>woltów
Vtx = Fusing(vt , "##.##")
Locate 2 , 30 : Lcd "Vol " ; Vtx
Line(0 , 118) -(160 , 118) , 1
Line(161 , 06) -(161 , 118) , 1
Nap1 = Getadc(1) ' wyzwalanie napięciem (działa raczej jak "pauza")
If Nap1 > 110 Then
For C = 0 To 160 'zapełnianie tablicy
Nap1 = Getadc(1)
Nap1 = Nap1 / 5
Seg(c) = 118 - Nap1 'dopasowanie do LCD
Next
End If
For C = 0 To 160 'odtwarzanie
Y1 = Seg(c)
If C = 0 Then
Y0 = Seg(c)
Else
Y0 = Seg(c - 1)
End If
X1 = C
If C = 0 Then
X0 = 0
Else
X0 = C - 1
End If
Line(x0 , Y0) -(c , Y1) , 1 'rysuj oscylogram
Next
Wait 1
If Key = 9 Then : Toggle B4 : End If 'wyłącznik
End If
Działa bardzo dobrze, i tu moje pytanie - jak zrobić funkcję która by działała jak wyzwalanie zboczem rosnącym ??
I jak tu obliczać częstotliwość sygnału jeśli jest stały?
Jak widzicie w kodzie już jest coś podobnego, ale bardziej działa jak Pauza niż wyzwalanie.
Na preskalerze = 64 bardzo dobrze widać sygnał PPM z aparatury RC, po to zresztą zrobiłem ten niby-oscyloskop.
Na pierwszym widać oscylogram gdy 2 ostatnie kanały są na minimum, na drugim 2 ostatnie na max.
Pozdrawiam i czekam na porady.
Dodano po 3 [godziny] 24 [minuty]:
Mam jeszcze inne zagadnienie:
Otóż interesuję się Xmega128A1 , i one są na 3.6V max, czy można do niej zwyczajnie podłączyć 5Voltowy RAM 62256, lub inne jak LCD które działają na 5V?? Czy Xmega zniesie logiczne 5V z ramu, i czy ten LCD załapie 3.6V z xmegi?
Czy trzeba jakieś konwertery czy ram zadziała na tym niższym napięciu?
Interesuję się Xmegą bo w nocie wyczytałem że wyrabia 2msps, i mogę kupić do niej programator za 50zł a nie 180...
