ATNEL tech-forum
https://forum.atnel.pl/

Przeliczanie wyniku ADC- skąd ujemna wartość?
https://forum.atnel.pl/topic20943.html
Strona 1 z 1

Autor:  Bart92 [ 4 lip 2018, o 13:56 ]
Tytuł:  Przeliczanie wyniku ADC- skąd ujemna wartość?

Amperomierz na układzie acs 712. Daje na wyjściu 0.5-4.5V. Wynikiem konwersji jet liczba przedziału 103-922.

Amperomierz mierzy prąd w obu kierunkach, i tak ma być. Przy braku przepływu podaję 2.5V(512).

Napisalem taka funkcje:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Amperage to zmienna typu int. Funkcja działa kiedy prąd jest z zakresu - 9 do +9A. Kiedy powinien być wyższy niż 10A,wynik działania zwraca wartości ujemne (np - 35A). Nie wiem, jak w przypadku ujemnych prądów, bo nie rosna poniżej - 9A.

Gdzie leży błąd?

Autor:  Nefarious19 [ 4 lip 2018, o 14:04 ]
Tytuł:  Re: Przeliczanie wyniku ADC- skąd ujemna wartość?

Bart92 napisał(a):
Gdzie leży błąd?


w przepełnienu zmiennej najprawdopodobniej.

Autor:  mirekk36 [ 4 lip 2018, o 16:26 ]
Tytuł:  Re: Przeliczanie wyniku ADC- skąd ujemna wartość?

Bart92 napisał(a):
((ADC* 100)/137)/10 -37 ;

poczytaj sobie o "domyślnej promocji do int"

http://atnel.pl/domyslna-promocja-do-typu-int.html

to nigdy więcej w taki sposób nie napiszesz tego typu linii kodu

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/