Witam!
Bawię się czujnikiem ultradźwiękowym mierzącym odległość, z którym komunikuje się za pomocą interfejsu I2C. Dane z czujnika za pośrednictwem amtegi8 (8MHz) wyrzucam na kompa za pomocą RS-232 (9600 baudrate). Problem polega na tym aby obliczyć czas jaki upływa pomiędzy kolejnymi pomiarami i wyświetlać go z resztą danych na komputerze. Trochę poczytałem i pogrzebałem i chyba najrozsądniejsze wydaje się użycie TIMER1, który odmierzałby czas upływający pomiędzy kolejnymi zdarzeniami, ale niestety nie wiem jak się za to zabrać. Poniżej zamieszczam wycinek kodu z pętlą główna, w której odczytuje i numeruje kolejność pomiarów.
Bawię się czujnikiem ultradźwiękowym mierzącym odległość, z którym komunikuje się za pomocą interfejsu I2C. Dane z czujnika za pośrednictwem amtegi8 (8MHz) wyrzucam na kompa za pomocą RS-232 (9600 baudrate). Problem polega na tym aby obliczyć czas jaki upływa pomiędzy kolejnymi pomiarami i wyświetlać go z resztą danych na komputerze. Trochę poczytałem i pogrzebałem i chyba najrozsądniejsze wydaje się użycie TIMER1, który odmierzałby czas upływający pomiędzy kolejnymi zdarzeniami, ale niestety nie wiem jak się za to zabrać. Poniżej zamieszczam wycinek kodu z pętlą główna, w której odczytuje i numeruje kolejność pomiarów.
$regfile = "m8def.dat"
$crystal = 8000000
$lib "i2c_twi.lbx"
$baud = 9600
'konfiguracja interfejscu I2C
Config Scl = Portc.5
Config Sda = Portc.4
Config Twi = 100000
I2cinit
'pętla głowna
Dim I As Integer
Do
For I = 1 To 5000
Call Sonar_pomiar
Print "pomiar " ; I ; " dystans " ; Sonar_odczyt() ; " czas "
Next I
Loop