Odczyt danych przez RS232 w delphi

0

Mam pewien problem a mianowicie chce odczytywac dane które są przesyłane przez Rs232 z mikrokontrolera ATmega do komputera. Odczyt ten zrealizowałem początkowa na timerach jednak występuja co jakis czas przekłamania. Dodam że dane wysylane przez mikrokontroler są w ostaci stringa, który ma 9 znaków: 7 znaków to wartośc a dwa pozostałe użyłem do tego aby oznaczyć sobie początek i koniec tej ramki.

Odczyt ten chciałbym teraz zrealizować na osobnym wątku w którym sprawdzałbym bufor az nadzejdzie znak początku ramki nastepni zliczał 7 wartości i az do pojawienia się znaku końca ramki iwtedy czyszczenie buforu itd.. niestety nie wiem jak mogłbym takie coś zrealizować? czy ktoś ma może jakiś przykład o podobnym działaniu lub mógłby coś podpowiedzieć?

Oczywiście całośc chce zrealizowac wykorzystując WIN API a nie gotowe komponenty:)

Z góry dziekuję za pomoc

0

Jak rozumiem skorzystałeś z wyszukiwarki?

0

zobacz http://pastebin.com/m50dd4ae5
osobny wątek to chyba przesada, OS załatwia całe buforowanie

0

Tak oczywiscie szukałem w wyszukiwarce jednak wszystkie przykłady wykorzystują timery:(

Zrealizować bym to chciał bez wykorzystania gotowych komponentów.

Dodam ze przy pisaniu aplikacji korzystałe z ksiązki RS232 Praktyczne programowanie, jednak nie rozwija ona do końca tej tematyki:(

Obecnie posługuje sie taimerem, ktory odczytuje dane co 500ms jednak wtedy występuja pzekłamania i do memo trafia mi połowa stringa który wysyłam

0

obecnie mój kod wygląda tak: same procedury (żeby az tak duzo miejsca nie zajmować:D)

<

0

Niestety cos jeszcze jest nie tak... wyswietla mi teraz dobra wartosc w 2 lini richEdit1 i zaczyna z niej odejmowac poszczególne znaki i wyświetla w pierwszej lini dodajac koleno znaki odjete z 2 lini:) trudno to troszke opisać:) mam nadzieje ze zrozumiecie co mam na myśli...

dla jasności wrzuce w jaki sposób wysyłam dane z mikrokontrolera

0

mozesz sprobowac użyć gotowych komponentów np TComPort, a tak z czystej ciekawości, jaki masz mikrokontroler? ATmega?

1 użytkowników online, w tym zalogowanych: 0, gości: 1