mnożenie i dzielenie z PBP

K

Klemm

Guest
Witaj,

Jak mogę napisać tej formuły w PBP:

V = INT (5.0/1024 * volt1 * 1000)

Dzięki

Klemm

 
Nie wiem zbyt wiele o podstawowym, ale zwykle lepiej niż prawo zmiany podziału, zwłaszcza podczas dzielenia przez moc 2.Przejście nie jest tak wymagające zadania w podziale.1024 jest taki sam, jak to 2 ^ 10 zamiast podziału przez 1024 należy prawo przesunięcia 10 razy.
Należy także zrobić wszystko mnożenia przed podziałem, aby zminimalizować błędy wynikające z zaokrąglania.
W C to wyglądać mniej więcej tak:

V = ((5 * 1000 * volt1)>> 10);

lub prostsze:
V = ((5000 * volt1)>> 10);

 
Najpierw muszę powiedzieć, że nic nie wiem o PBP ...

Zakładam, że chcesz obliczyć napięcia z wartości mierzonej przez 10 bitów Pic DAC?

Jeśli PBP ma datatype, które mogą posiadać co najmniej 640000 (który używa 3 bajty) Chciałbym zrobić to tak:

V = (volt1 * 625) / 128

Podział 128 można zrobić, jak przejście na wartość 7 bitów w prawo, jeśli pomysł nie PBP można to zrobić.

Wystarczy krótki uwaga: nigdy się nie osiągnie wartość 5000 jako maksymalna wartość otrzymujesz od DAC jest 1023 (lub 0x3FF) ...

z pozdrowieniami

 
Tak PBP popiera SHIFT skonsultować się z instrukcją obsługi.
Tornado

 
Wtedy najlepiej byłoby zrobić tak:

V = ((625 * volt1)>> 7);

To jest C języka.
>> 7 menas prawo przejścia 7 razy.
Nie wiem jak napisać to podstawowe, ale może można rysunek to samodzielnie.

 

Welcome to EDABoard.com

Sponsor

Back
Top