Witam
Napisałem takiego potwora, zastanawiam się jak można to zrobić inaczej bardziej fachowo bo patrząc na taki „kod” mnie samego odrzuca i mam świadomość, że jest to mało eleganckie, tyle if-ów. Podkreślam, że mimo paskudnego wyglądu działa tak jak powinno.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Poniższa funkcja mam za zadanie przypisać wynikowi (zakresowi) z ADC konkretną liczbę. Na przykład wartość powyżej 995 powinna dawać wynik 0, wartość od 981 do 995 wskazuje na 10, od 958 do 981 to 11, od 938 do 958 to już 12 itd.
Nie mogłem tego zrobić stosując jakiś stały przelicznik, ponieważ wartości z ADC nie przyrastają liniowo.
Czy macie pomysł jak to napisać profesjonalnie?
Pytam z ciekawości bo jak napisałem powyżej, działa prawidłowo, tylko wygląda dziwnie a gdybym potrzebował poszerzyć zakres od 0 do 50 to już w ogóle będzie śmiesznie.
Pozdrawiam