Może stworzyć w pamięci tablice wzorców danych łańcuchów i porównywać je z ramką która nadleci.
Przy czym każda komórka wzorca to znak odpowiadający danemu zakresowi od-do
dajmy na to:
między 29 a 32 wartość we wzorcu = 'A'
między 45 a 55 = 'B'
i tak dalej.
Tworząc ramkę w przerwaniu też ustalasz zakres przyleciał impuls mieszczący się w zakresie to wpisujesz daną wartość
Potem w pętli porównanie łańcuchów i w przypadku zgodności wzorca z tym co przyszło stop pętli wartość zmiennej która inkrementuje pętlę wystawiasz jako wynik.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
No trzeba by powalczyć z tablicą wskaźników do łańcuchów tekstowych. Ale widzę że masz GB.
Popatrz na parsowanie komend AT. Tam jest jak stworzyć łańcuchy we flash-u i jak je porónywać.
W funkcji:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Jest ładnie wszystko pokazane.
Masz napisanego gotowca prawie na wyciągnięcie ręki na półkę z książką
P/S
Jadąc do pracy tak sobie pomyślałem że można było by ze wzorca wywalić czasy przerwy i zostawić tylko czasy impulsów.
Może to by wystarczyło do identyfikacji a skróciło by łańcuchy o połowę.
Patrząc na zdjęcie wzorcem mogłaby być tablica składająca się z około 20 znaków.
P/S 2
Ale mnie to męczy ten Twój problem.
Zauważyłem jeszcze coś.
Czas trwania pierwszego zera jest taki sam we wszystkich ramkach
Tak samo czas trwania ostatniego zera, wygląda na taki sam.
Można jeszcze pokombinować tak: zera to małe litery, impulsy to duże
Czyli ramka testowa wyglądała by na przykład tak:
aCCABBCDb
Każda inna przerwa niż 'a' lub 'b' to 'c'
Badamy tylko zero początkowe i końcowe oraz długości impulsów.