NOWE POSTY | NOWE TEMATY | POPULARNE | STAT | RSS | KONTAKT | REJESTRACJA | Login: Hasło: rss dla

HOME » INNE » VISUAL BASIC 2010

Przejdz do dołu stronyStrona: 1 / 1    strony: [1]

Visual Basic 2010

  
sp2hfh
24.11.2018 10:16:08
poziom 5

Grupa: Użytkownik

QTH: Gdańsk JO94HI

Posty: 444 #2610138
Od: 2008-10-4
Witam,
potrzebuję informacji ( czytaj pomocy ) odnośnie VB2010. Muszę wysłać poprzez COM PORT daną ale jako HEX. Tak na prawdę to ciąg wpisany <,BoxText>, jako "String" przerabiam na "initger" a następnie wysyłam przez port. Wszystko działa tylko zawsze mi wychodzi ASCII płacze
Program pisany jest w vb ( nie c++ i nie w c# ).
Program to zwykła konsola diagnostyczna która musi przekazać ustawienia konfiguracyjne do mikrokontrolera.
_________________
Mariusz
sp2hfh
  
Electra19.10.2019 22:18:16
poziom 5

oczka
  
sp2hfh
24.11.2018 11:25:45
poziom 5

Grupa: Użytkownik

QTH: Gdańsk JO94HI

Posty: 444 #2610155
Od: 2008-10-4
Private Sub serialButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles serialButton.Click

Dim dana As Integer
Dim wynik As String
dana = 12345
wynik = Hex(dana)
SerialPort1.Write(wynik)

End Sub

Serial Port wysyła cztery bajty ascii 33 30 33 39 zamiast dwóch bajtów hex 30 39
_________________
Mariusz
sp2hfh
  
SP5SAi
24.11.2018 12:37:11
poziom 5



Grupa: Użytkownik

QTH: Warszawa KO02LG

Posty: 408 #2610183
Od: 2010-6-13
    sp2hfh pisze:

    Serial Port wysyła cztery bajty ascii 33 30 33 39 zamiast dwóch bajtów hex 30 39


Cześć.
Jak widzę wysyłasz string HEX czyli reprezentacje twoich danych HEX w postaci znaków ASCII =33 30 33 39
33 to ASCII cyfry 3 itd, wysyłasz zapis tekstowy. Jeśli chcesz wysłać 30 w jednym bajcie to trzeba wysłać dane (30) binarnie.

_________________
Pozdrawiam
Andrzej SP5SAi
( Stefan Adam Irena )
  
sp2hfh
24.11.2018 12:43:59
poziom 5

Grupa: Użytkownik

QTH: Gdańsk JO94HI

Posty: 444 #2610186
Od: 2008-10-4
Tą stronę znam. Po zrealizowaniu kodu:

Private Sub serialButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles serialButton.Click

Dim abData() As Byte
Dim Str As String
Dim i As Long
Str = "12345"
abData = System.Text.Encoding.Default.GetBytes(Str)
For i = 0 To UBound(abData)
SerialPort1.Write(Hex(abData(i)))
Next

End Sub


Na terminalu odbiorczym otrzymujemy: 33 31 33 32 33 33 33 34 33 35
Czyli nadal źle płacze
Jak pisałem wcześniej: cokolwiek zrobię dostaję ASCII w tej lub nieco innej formie...pan zielony
_________________
Mariusz
sp2hfh
  
sp2hfh
24.11.2018 12:48:28
poziom 5

Grupa: Użytkownik

QTH: Gdańsk JO94HI

Posty: 444 #2610188
Od: 2008-10-4


Ilość edycji wpisu: 3
Andrzeju SP5SAI
czyli jak to przerobić ??

Piotr, SQ5KLN,
na razie odbieranie testuje przez dekodowanie sygnałow na oscyloskopie. Jeszcze urządzenia z prockiem nie podpinałem.
Dla przykładu: numer seryjny urzadzenia jest 12345 ( w takiej formie jest zapisany na kartce papieru)
do urzadzenia musze wysłać 30 39 czyli dwa bajty. I w takiej formie jest zapamiętywany w eepromie . Gdybym chciał pamietać w standardzie ASCII miałbym do zapamietania 5 bajtów. Inna sprawa to przesyłanie danych konfiguracyjnych. Jest to tablica około 150 danych dwubajtowych ( uint16_t). Wysyłanie takich danych jako oscii zajmie znacznie więcej czasu niż w formie hex. Oczywiście mogę przerabiać ascii na hex w procesorze ale zostało mi już niewiele pamięci flash na kod
_________________
Mariusz
sp2hfh
  
SP5SAi
24.11.2018 14:23:17
poziom 5



Grupa: Użytkownik

QTH: Warszawa KO02LG

Posty: 408 #2610213
Od: 2010-6-13
Cześć.
Nie mam Visual Basic 2010 i w nim nie pracuje.

SerialPort1.Write(Hex(abData(i))) – Hex( a po co zmieniasz na reprezentacje tekstową HEX string ? Wywal Hex.

_________________
Pozdrawiam
Andrzej SP5SAi
( Stefan Adam Irena )
  
sp2hfh
24.11.2018 14:56:55
poziom 5

Grupa: Użytkownik

QTH: Gdańsk JO94HI

Posty: 444 #2610228
Od: 2008-10-4
A w tym wspaniałym jezyku ,) istnieje takie coś jak rzutowanie ( tak jak wC) ?
_________________
Mariusz
sp2hfh
  
sp2hfh
24.11.2018 15:06:19
poziom 5

Grupa: Użytkownik

QTH: Gdańsk JO94HI

Posty: 444 #2610232
Od: 2008-10-4


Ilość edycji wpisu: 2
Private Sub serialButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles serialButton.Click

Dim wynik(4) As Byte
Dim serial As UInt32 = Convert.ToInt32(serialTextBox.Text)
wynik(0) = ((serial \ 256) \ 256) \ 256
wynik(1) = (serial \ 256) \ 256
wynik(2) = serial \ 256
wynik(3) = serial Mod 256
SerialPort1.Write(wynik, 0, 4)

End Sub

Taka wersja działa bardzo szczęśliwybardzo szczęśliwybardzo szczęśliwy Teraz tylko "uładnić" zapis
Nie napisałem na początki że numer seryjny jest uint32_t ( czyli cztery bajty )

A jaką literaturę polecacie tak na przyszłość gdybym przypadkowo musiał jeszcze coś "mądreg" zrobić w VB/ Poza YouTube
_________________
Mariusz
sp2hfh
  
SP5SAi
24.11.2018 16:22:59
poziom 5



Grupa: Użytkownik

QTH: Warszawa KO02LG

Posty: 408 #2610253
Od: 2010-6-13


Ilość edycji wpisu: 2
Cześć.
Przerzuciłem się na darmowego Pythona i jestem zupełnie zadowolony. Na moje potrzeby jest zupełnie wystarczający, a ilość pomocy w Internecie jest przepastna do niego i dodatkowe biblioteki i wiele innych zalet. Oto próbka mojej "przygody z Pythonem"



To tak w ramach reklamy darmowego Pythona do darmowego VB 2010.
_________________
Pozdrawiam
Andrzej SP5SAi
( Stefan Adam Irena )
  
sp2hfh
24.11.2018 16:33:54
poziom 5

Grupa: Użytkownik

QTH: Gdańsk JO94HI

Posty: 444 #2610255
Od: 2008-10-4
Fajne
_________________
Mariusz
sp2hfh
  
SP5ADX
24.11.2018 22:20:29
poziom 5

Grupa: Użytkownik

QTH: Siedlce

Posty: 670 #2610383
Od: 2009-5-27
Przywołaliście moje wspomnienia i prace programistyczne ,) Jakże dawno temu moim chlebem było VB, C++, C# i generalnie informatyka.

Wytrwałości i pasji życzę ,)
_________________

Reklama, poligrafia, gadżety reklamowe, profesjonalny i tani druk kart QSL, pieczątki, dyplomy, odzież reklamowa
  
Electra19.10.2019 22:18:16
poziom 5

oczka

Przejdz do góry stronyStrona: 1 / 1    strony: [1]

  << Pierwsza      < Poprzednia      Następna >     Ostatnia >>  

HOME » INNE » VISUAL BASIC 2010

Aby pisac na forum musisz sie zalogować !!!

randki | własny sklep internetowy | promocje | CyberCiekawostki | darmowe forum | sklepy
opinie, testy, oceny | katalog stron | toplsta