Reklama
#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 <,BoxText>, jako "String" przerabiam na "initger" a następnie wysyłam przez port. Wszystko działa tylko zawsze mi wychodzi ASCII
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.
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
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
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
#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
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
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
#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
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 )
Andrzej SP5SAi
( Stefan Adam Irena )
#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
Jak pisałem wcześniej: cokolwiek zrobię dostaję ASCII w tej lub nieco innej formie...
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
Jak pisałem wcześniej: cokolwiek zrobię dostaję ASCII w tej lub nieco innej formie...
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
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
#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
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
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
#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.
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 )
Andrzej SP5SAi
( Stefan Adam Irena )
#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
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
#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

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
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
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
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
#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.
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 )
Andrzej SP5SAi
( Stefan Adam Irena )
#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
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
Reklama
#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ę ,)
Wytrwałości i pasji życzę ,)
Reklama, poligrafia, gadżety reklamowe, profesjonalny i tani druk kart QSL, pieczątki, dyplomy, odzież reklamowa