Cześć,
jak już ktoś napisał, na elektrodzie:
http://www.elektroda.pl/rtvforum/topic404247.html
jest dobrze opisana ramka miernika UT60E.
Nie wiem czym różnią się oba mierniki, ale wygląda na to, że ramka jest bardzo podobna, różnice mogą wystąpić w odczycie jednostek czy mnożników.
Jeśli chodzi o same dane to idea jest prosta (autor z elektrody już to napisał, ale postaram się wyłożyć to jak najprościej):
cała ramka składa się z 14 bajtów. Zatem musisz te bajty odczytać. Każdy taki bajt składa się z dwóch połówek - starszej i młodszej.
Starsza, to po prostu zapisany szesnastkowo numer bajtu, zaś użyteczna informacja leży w młodszej połówce.
Aby odczytać same cyfry wystarczy wziąć bajty od drugiego do dziewiątego. Następnie usuwamy starsze połówki, a potem sklejamy ze sobą młodsze połówki w ten sposób:
2 z 3, 4 z 5, 6 z 7, 8 z 9.
*Dostajemy wtedy 4 bajty danych.
W bajtach 10 - 14 zawarta jest informacja o trybie pomiarowym, mnożnikach i jednostkach, ale tego już nie będę powtarzał, na elektrodzie wyjaśniono to bardzo jasno.
Liczby na wyświetlaczu są zapisane w kodzie "siedmiosegmentowym".
Odpowiedni rysunek znajduje się w przytoczonym linku.
Każdy segment ma swój numer od 1 do 7, zaś 8 oznacza przecinek w przypadku cyfr od 2 do 4, bądź minus w przypadku pierwszej cyfry.
Taki numer stanowi jakby adres segmentu. Segment może przybierać dwie wartości: 1 gdy jest zapalony i 0 gdy jest zgaszony.
Wróćmy teraz do wspomnianych 4 bajtów danych, o których pisałem w linijce oznaczonej *.
Każdy taki bajt składa się z 8 bitów.
Zapewne dostaniesz liczbę w zapisie szesnastkowym, dobrze ją przerobić do zapisu dwójkowego.
Pozycja bitu (licząc od prawej czyli od najmłodszego) jest właśnie adresem - numerem segmentu.
Wartość bitu oznacza czy segment jest zapalony czy zgaszony.
Cyfry otrzymuje się przez zapalanie odpowiednich segmentów (patrz rysunek na elektrodzie). Podam tu dwa przykłady:
cyfrę 1 dostaniemy, gdy świecą się segmenty 1. i 3., a zatem będzie to liczba 00000101 czyli 5.
cyfrę 2 otrzymamy, gdy świecą się segmenty 5, 1, 2, 7 i 4, daje to liczbę 01011011 czyli 91 a w zapisie 16-owym będzie to 5B.
Teraz musisz zrobić sobie tablicę 10 elementową, która przetłumaczy odpowiednią wartość szesnastkową na cyfrę pokazaną na wyświetlaczu.
Załączam kod, który użyłem do miernika UT60E, może się przyda?
Brakuje tam części związanej z jednostkami, gdyż używam go tylko do pomiaru napięcia stałego.
Program nie jest zbyt elegancki, ale pisałem go, gdy stawiałem dopiero pierwsze kroki w LV, teraz tylko tak na szybko go poprawiłem.
Co do jednostek i innych takich musisz już sam pokombinować.
Pozdrawiam
Fajfi