Witam
Zwracam się z pytaniem do kolegów po fachu.
Trochę poszukałem po necie ale nie znalazłem odpowiedzi na moje pytanie.
W jaki sposób, za pomocą VB wysłać bajt przez port szeregowy jako zmienną liczbową?
Dokładam kolejne funkcjonalności do mojego starego projektu. Wcześniej miałem połączone dwa procesory po RS232 i przesyłały pomiędzy sobą dane jako normalne bajty (liczby).
Teraz dokładam połączenie up - PC.
Jeśli wysyłam liczbę z uP do PC to PC widzi to jako znak. W VB mogę przekonwertować to do postaci liczby i mam liczbę.
Jeśli chcę wysłać liczbę z PC do uP to muszę ją wysłać jako znak.
Używam kontrolki MSComm. Jeśli do txtboxa wpiszę powiedzmy wartość 100 i będę chciał wysłać zawartość txtboxa przez RS232, to kontrolka wyśle trzy bajty jako kody ASCII 1 0 0, a ja chcę jeden bajt!
Próbowałem to konwertować przed wysłaniem przez CSng potem CByte, na różne sposoby ale wtedy wywala mi błąd że dana nie jest prawidłowego typu.
Oczywiście można wysyłać 100 jako trzy znaki 1 0 0 ale wtedy muszę przerabiać program po stronie uP i dokładać konwersję powrotną na liczbę 100, a wolałbym tego nie robić. Poza tym po co wysyłać trzy razy więcej bajtów przez port!
Proszę o pomoc,
pozdrawiam!
Zwracam się z pytaniem do kolegów po fachu.
Trochę poszukałem po necie ale nie znalazłem odpowiedzi na moje pytanie.
W jaki sposób, za pomocą VB wysłać bajt przez port szeregowy jako zmienną liczbową?
Dokładam kolejne funkcjonalności do mojego starego projektu. Wcześniej miałem połączone dwa procesory po RS232 i przesyłały pomiędzy sobą dane jako normalne bajty (liczby).
Teraz dokładam połączenie up - PC.
Jeśli wysyłam liczbę z uP do PC to PC widzi to jako znak. W VB mogę przekonwertować to do postaci liczby i mam liczbę.
Jeśli chcę wysłać liczbę z PC do uP to muszę ją wysłać jako znak.
Używam kontrolki MSComm. Jeśli do txtboxa wpiszę powiedzmy wartość 100 i będę chciał wysłać zawartość txtboxa przez RS232, to kontrolka wyśle trzy bajty jako kody ASCII 1 0 0, a ja chcę jeden bajt!
Próbowałem to konwertować przed wysłaniem przez CSng potem CByte, na różne sposoby ale wtedy wywala mi błąd że dana nie jest prawidłowego typu.
Oczywiście można wysyłać 100 jako trzy znaki 1 0 0 ale wtedy muszę przerabiać program po stronie uP i dokładać konwersję powrotną na liczbę 100, a wolałbym tego nie robić. Poza tym po co wysyłać trzy razy więcej bajtów przez port!
Proszę o pomoc,
pozdrawiam!