Witam.
Piszę aplikację której zadaniem jest komunikowanie się z ATmega32 i wyświetlanie odebranych informacji po RS232 w TextBoxie. I o ile komunikacja przebiega prawidłowo tzn. udaje mi się otrzymać informacje z portu COM i zapisać je w pliku txt o tyle nie potrafię odebranych informacji wyświetlić w TextBoxie.
Zmienna z której chcę wyświetlić dane jest typu BYTE
Zapis do pliku realizuję poprzez
gdzie fp jest to wskaźnik do FILE
Nie potrafię jednak wyświetlić tego na TextBoxie
Próbuje to zrobić w następujący sposób:
Najlepiej byłoby gdyby zawartość TextBoxa aktualizowała się na bierząco tzn. po odebraniu znaku ten znak nie kasowałby wszystkiego z TextBoxa tylko dopisywał się...jednakże próbowałem już przy pomocy
Próbowałem również odczytać plik do którego zapisuje i wyświetlic go ale również to nie przechodzi.
W TextBoxie wyświetla mi się wtedy napis True.
Próbowałem również wyświetlić stringa w podobny sposób
I to również nie działa. Byłbym wdzięczny gdyby mi ktoś podpowiedział w jaki sposób mogę zrealizować wyświetlanie RS_buf na TextBoxie najlepiej jeśli poprzez dopisywanie kolejnych znaków do zawartości TextBoxa
Udało mi się rozwiązać problem przez:
Jednakże proszę o nie zamykanie jeszcze tego tematu gdyż na pewno napotkam jeszcze jakieś trudności:|
Napotkałem kolejny problem...nie wiem w jaki sposób miałbym zrealizować taką funkcję która co jakiś czas po uruchomieniu automatycznie by sie wywoływała. Tzn chodzi mi o to że odpalam przyciskiem zbieranie pomiarów i one co 100ms się zbierają i aktualizuje się treść TextBoxa...jednakże nie chodzi mi o to żeby po wciśnięciu przycisku program wpadł w pętle nieskończoną i nie reagował na żadne inne wciskania przycisków tylko żeby można było np zakończyć zbieranie pomiarów przez inny przycisk.. Muszę użyć wątków czy też da się to zrealizować jakoś łatwiej... jeżeli tak to w jaki sposób się za to zabrać...
Próbowałem w taki :
pod Dev C++ udaje mi się uzyskać wielowatkowość jednakże tutaj to nie przechodzi...
Będę wdzięczny za jakiekolwiek sugestie
Piszę aplikację której zadaniem jest komunikowanie się z ATmega32 i wyświetlanie odebranych informacji po RS232 w TextBoxie. I o ile komunikacja przebiega prawidłowo tzn. udaje mi się otrzymać informacje z portu COM i zapisać je w pliku txt o tyle nie potrafię odebranych informacji wyświetlić w TextBoxie.
Zmienna z której chcę wyświetlić dane jest typu BYTE
BYTE RS_buf=0; //bufor danej
Zapis do pliku realizuję poprzez
fputc (RS_buf, fp);
gdzie fp jest to wskaźnik do FILE
Nie potrafię jednak wyświetlić tego na TextBoxie
Próbuje to zrobić w następujący sposób:
Text_Czujnik_Temperatury->Text=System::Convert::ToString(RS_buf);
Najlepiej byłoby gdyby zawartość TextBoxa aktualizowała się na bierząco tzn. po odebraniu znaku ten znak nie kasowałby wszystkiego z TextBoxa tylko dopisywał się...jednakże próbowałem już przy pomocy
Text_Pomiar->AppendText(RS_buf);
Próbowałem również odczytać plik do którego zapisuje i wyświetlic go ale również to nie przechodzi.
std::fstream plik_odczyt;//fstream plik_zapis;
plik_odczyt.open("Pomiary.txt");
Text_Czujnik_Temperatury->Text=System::Convert::ToString(plik_odczyt);
W TextBoxie wyświetla mi się wtedy napis True.
Próbowałem również wyświetlić stringa w podobny sposób
std::string wyswietl;
wyswietl="wyswietlany tekst";
Text_Czujnik_Temperatury->Text=System::Convert::ToString(wyswietl);
I to również nie działa. Byłbym wdzięczny gdyby mi ktoś podpowiedział w jaki sposób mogę zrealizować wyświetlanie RS_buf na TextBoxie najlepiej jeśli poprzez dopisywanie kolejnych znaków do zawartości TextBoxa
Udało mi się rozwiązać problem przez:
Text_Pomiar->Text=Text_Pomiar->Text + Convert::ToChar(RS_buf);
Jednakże proszę o nie zamykanie jeszcze tego tematu gdyż na pewno napotkam jeszcze jakieś trudności:|
Napotkałem kolejny problem...nie wiem w jaki sposób miałbym zrealizować taką funkcję która co jakiś czas po uruchomieniu automatycznie by sie wywoływała. Tzn chodzi mi o to że odpalam przyciskiem zbieranie pomiarów i one co 100ms się zbierają i aktualizuje się treść TextBoxa...jednakże nie chodzi mi o to żeby po wciśnięciu przycisku program wpadł w pętle nieskończoną i nie reagował na żadne inne wciskania przycisków tylko żeby można było np zakończyć zbieranie pomiarów przez inny przycisk.. Muszę użyć wątków czy też da się to zrealizować jakoś łatwiej... jeżeli tak to w jaki sposób się za to zabrać...
Próbowałem w taki :
CreateThread(NULL, 0, Watek, &cout, 0, 0);
Będę wdzięczny za jakiekolwiek sugestie