Po oglądnięciu poradnika na YT odnośnie oversamplingu dla LM35 postanowiłem, że użyję właśnie tego czujnika do badania temperatury, gdzie potrzebna mi dokładność do setnych części. Jako, że dysponuję "kitem" i zaczynam zabawę z PSOC, pomyślałem a czemu nie użyć właśnie jego, skoro ADC ma rozdzielczość do 20 bitów!
I tak kroczek po kroczku, przykład za przykładem, udało mi się uruchomić UART szybciutko, dopisałem tylko prostą funkcję do wysyłania stringów. Następnie uruchomiłem ADC i teoretycznie wszystko działa.
Jednak, gdyby wszystko poszło po mojej myśli, nie pisałbym tematu.
Cypress w swoich bibliotekach ma funkcje do konwertowania ADC na mV i na uV
Ta do mV działa (chyba) dobrze jednak dostaję maksymalnie 3 znaki, co da mi jedno miejsce po przecinku.
Z kolei funkcja do konwertowania na uV działa przedziwnie i gdy mV pokazuje wartość np. 210mV to uV potrafi pokazać np -15034, pomiary strasznie skaczą, zmieniają się z dodatnich na ujemne etc. wartości też strasznie pływają.
Jaka może być tego przyczyna?
mV
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
uV:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.