PDA

View Full Version : serial port



a.noorbakhsh
شنبه 17 بهمن 1388, 15:22 عصر
سوال
با سلام
با تشکر از دوستان برنامه نویس
فوری فوری فوری
اکنون در حال نوشتن یک برنامه با vb.net هستم که یکسری کد(عدد) را از طریق serial port از یک سخت افزار خارجی می خواند. من توانسته ام این اعداد را با دستورات زیر بخوانم:
Dim returnvalue0 As Integer
Dim buffer(SerialPort1.BytesToRead - 1) As Byte

Dim offset As Integer
Dim count As Integer

Dim ascStr As String
ascStr = ""


Dim returnStr As String
returnStr = ""

offset = 0
count = buffer.Length
SerialPort1.Encoding = System.Text.UTF32Encoding.UTF32
returnvalue0 = SerialPort1.Read(buffer, offset, count)
For Each b As Byte In buffer
ascStr += Chr(b) 'Ascii String
ListBox1.Items.Add(ascStr)
Next
اما خروجی ascStr رشته است.عدد را به همراه یک مربع در کنارش نمایش می دهد و به هیچ طریقی integer نمیشود. و من هم int آنرا لازم دارم. لطفا کمکم کنید.

saied_genius
شنبه 17 بهمن 1388, 16:38 عصر
من طرز کاره برنامه تون رو نمي دونم.

ولي اگر مطمئني که مربع در رشته ها کاره اي نيست ، آنرا با استفاده از replace با "" جايگزين کنيد و سپس کل آنرا با int32.parse به عدد تبديل کنيد.

موفق باشيد.

nima898
یک شنبه 18 بهمن 1388, 10:41 صبح
Dim ascStr As String

من قبلا کار کرده بودم یادمه با متغیر string مشکل داشت بعد از آرایه متغیر از نوع byte استفاده کردم مشکلم حل شد