Programowanie pod Uc problem...

Witam!

Pisze program do sterowania sonarem i mam problem gdyz nie wiem jak za "scalic" liczbe pochodzacya z rejestrow : ICR1H i ICR1L...Chcialem ro zrobic tak:

... int t = 0x0000; ....

t = ICR1L; t = cos >> 8; t = ICR1H;

Ale mi cos nie wychodzi...

--------------------------------

Bo jak wiadomo aby otrzymac odlegosc z sonaru to obowiazuje wzor:

x = (t*V)/2 ,gdzie V=1200 m/s

a wiec potrzebuje miec "t" czyli wydaje mi sie ze musze scalic liczbe pochodzaca z tych dwoch rejeastrow ICR, czy to sie inaczej realizuje?

Pozdarwiam Rafal k.

Reply to
ToR
Loading thread data ...

Użytkownik ToR napisał:

t = ICR1;

Reply to
Grzegorz Kurczyk

Faktycznie :D, wielkie dzieki! Jednk mam jeszcze jedno male pytanie, czy wprowadzic jakas dodatkowa zmienna zliczajaca mi przekrecenie sie licznika? W sensie czy moze w ogule do tego dojsc...czy wszytko zalezy od kwantu plreskalera i odleglsoci od przeszkody?

Pozdrawiam, Rafal k.

Reply to
ToR

Użytkownik Piotr Chmiel napisał:

Uppsss... chyba się Kolega trochę rozpędził z tymi 16-toma bitami w przesunieciu ;-) i dodawaniu drugi raz starszego bajtu rejestru ICR. Powyższy zapis możnaby zastąpić prostym t = ICR1H; (wyjdzie na to samo).

jeśli już to: t = ICR1H << 8 + ICR1L; lub t = ICR1H * 256 + ICR1L; (kompilator powinien to i tak zoptymalizować do przesunięcia bitowego)

ale tak jak pisałem wystarczy proste t = ICR1;

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.