Forum Krótkofalarskie PKI

Visual Basic 2010
T#482430
Facebook
sp2hfh poziom 5
QTH: Gdańsk JO94HI
#2610138 24.11.2018 10:16:08
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 &lt,BoxText&gt, 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

FT857
FT1000MP MARK V Field
TM261
TS450SAt - long time ego
ant. H422
ant. WARC- home made multiband dipol
ant. Bazooka 40m - "holiday" antenna
ant. Bazooka 20m - "holiday" antenna
sp2hfh poziom 5
QTH: Gdańsk JO94HI
#2610155 24.11.2018 11:25:45
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

FT857
FT1000MP MARK V Field
TM261
TS450SAt - long time ego
ant. H422
ant. WARC- home made multiband dipol
ant. Bazooka 40m - "holiday" antenna
ant. Bazooka 20m - "holiday" antenna
SP5SAi poziom 5
QTH: Warszawa KO02LG
#2610183 24.11.2018 12:37:11
    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 poziom 5
QTH: Gdańsk JO94HI
#2610186 24.11.2018 12:43:59
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

FT857
FT1000MP MARK V Field
TM261
TS450SAt - long time ego
ant. H422
ant. WARC- home made multiband dipol
ant. Bazooka 40m - "holiday" antenna
ant. Bazooka 20m - "holiday" antenna
sp2hfh poziom 5
QTH: Gdańsk JO94HI
Ilość edycji wpisu: 3
#2610188 24.11.2018 12:48:27
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
wpis edytowany 24.11.2018 13:07:38



Mariusz
sp2hfh

FT857
FT1000MP MARK V Field
TM261
TS450SAt - long time ego
ant. H422
ant. WARC- home made multiband dipol
ant. Bazooka 40m - "holiday" antenna
ant. Bazooka 20m - "holiday" antenna
SP5SAi poziom 5
QTH: Warszawa KO02LG
#2610213 24.11.2018 14:23:17
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 poziom 5
QTH: Gdańsk JO94HI
#2610228 24.11.2018 14:56:54
A w tym wspaniałym jezyku ,) istnieje takie coś jak rzutowanie ( tak jak wC) ?



Mariusz
sp2hfh

FT857
FT1000MP MARK V Field
TM261
TS450SAt - long time ego
ant. H422
ant. WARC- home made multiband dipol
ant. Bazooka 40m - "holiday" antenna
ant. Bazooka 20m - "holiday" antenna
sp2hfh poziom 5
QTH: Gdańsk JO94HI
Ilość edycji wpisu: 2
#2610232 24.11.2018 15:06:19
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
wpis edytowany 24.11.2018 15:11:59



Mariusz
sp2hfh

FT857
FT1000MP MARK V Field
TM261
TS450SAt - long time ego
ant. H422
ant. WARC- home made multiband dipol
ant. Bazooka 40m - "holiday" antenna
ant. Bazooka 20m - "holiday" antenna
SP5SAi poziom 5
QTH: Warszawa KO02LG
Ilość edycji wpisu: 2
#2610253 24.11.2018 16:22:58
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.
wpis edytowany 24.11.2018 16:24:12



Pozdrawiam
Andrzej SP5SAi
( Stefan Adam Irena )
sp2hfh poziom 5
QTH: Gdańsk JO94HI
#2610255 24.11.2018 16:33:54
Fajne



Mariusz
sp2hfh

FT857
FT1000MP MARK V Field
TM261
TS450SAt - long time ego
ant. H422
ant. WARC- home made multiband dipol
ant. Bazooka 40m - "holiday" antenna
ant. Bazooka 20m - "holiday" antenna
SP5ADX poziom 5
QTH: Siedlce
#2610383 24.11.2018 22:20:29
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
Visual Basic 2010
T#482430
Facebook
Aby pisać na forum musisz się zalogować !!!
rss · kontakt · załóż własne forum · korzystasz z forum? wesprzyj projekt!