سلام دوستان همگی خسته نباشید
یه مدتیه که شروع کردم به دات نت کار کردن و یاد گرفتن اون
یه جایی کارم گیر کرده ، چند تا کتاب هم گرفتم ولی چیزی از توشون در نیومد
سوال :
چجوری می تونم تو دات نت یه عددو بریزم رو پورت سریال ؟؟؟؟
(میخوام با زدن یک دکمه یه عددو بریزم رو پورت سریال)
؟؟؟؟؟؟؟
ممنون میشم اگه کمکم کنید.
باتشکر
شیئ SerialPort رو امتحان کردید؟
من چیزی ندارم که باهاش تست کنم.
برنامه نمونه هم توی MSDN هسته:
کد:
Imports System
Imports System.IO.Ports
Imports System.Threading
Public Class PortChat
Shared _continue As Boolean
Shared _serialPort As SerialPort
Public Shared Sub Main()
Dim name As String
Dim message As String
Dim sComparer As StringComparer = StringComparer.OrdinalIgnoreCase
Dim readThread As Thread = New Thread(AddressOf Read)
' Create a new SerialPort object with default settings.
_serialPort = New SerialPort()
' Allow the user to set the appropriate properties.
_serialPort.PortName = SetPortName(_serialPort.PortName)
_serialPort.BaudRate = SetPortBaudRate(_serialPort.BaudRate)
_serialPort.Parity = SetPortParity(_serialPort.Parity)
_serialPort.DataBits = SetPortDataBits(_serialPort.DataBits)
_serialPort.StopBits = SetPortStopBits(_serialPort.StopBits)
_serialPort.Handshake = SetPortHandshake(_serialPort.Handshake)
' Set the read/write timeouts
_serialPort.ReadTimeout = 500
_serialPort.WriteTimeout = 500
_serialPort.Open()
_continue = True
readThread.Start()
Console.Write("Name: ")
name = Console.ReadLine()
Console.WriteLine("Type QUIT to exit")
While (_continue)
message = Console.ReadLine()
If sComparer.Equals("quit", message) Then
_continue = False
Else
_serialPort.WriteLine( _
String.Format("<{0}>: {1}", name, message))
End If
end while
readThread.Join()
_serialPort.Close()
End Sub
Public Shared Sub Read()
While (_continue)
Try
Dim message As String = _serialPort.ReadLine()
Console.WriteLine(message)
Catch ex As TimeoutException
' Do nothing
End Try
End While
End Sub
Public Shared Function SetPortName(ByVal defaultPortName As String) As String
Dim newPortName As String
Console.WriteLine("Available Ports:")
Dim s As String
For Each s In SerialPort.GetPortNames()
Console.WriteLine(" {0}", s)
Next s
Console.Write("COM port({0}): ", defaultPortName)
newPortName = Console.ReadLine()
If newPortName = "" Then
newPortName = defaultPortName
End If
Return newPortName
End Function
Public Shared Function SetPortBaudRate(ByVal defaultPortBaudRate As Integer) As Integer
Dim newBaudRate As String
Console.Write("Baud Rate({0}): ", defaultPortBaudRate)
newBaudRate = Console.ReadLine()
If newBaudRate = "" Then
newBaudRate = defaultPortBaudRate.ToString()
End If
Return Integer.Parse(newBaudRate)
End Function
Public Shared Function SetPortParity(ByVal defaultPortParity As Parity) As Parity
Dim newParity As String
Console.WriteLine("Available Parity options:")
Dim s As String
For Each s In [Enum].GetNames(GetType(Parity))
Console.WriteLine(" {0}", s)
Next s
Console.Write("Parity({0}):", defaultPortParity.ToString())
newparity = Console.ReadLine()
If newparity = "" Then
newparity = defaultPortParity.ToString()
End If
Return CType([Enum].Parse(GetType(Parity), newParity), Parity)
End Function
Public Shared Function SetPortDataBits(ByVal defaultPortDataBits As Integer) As Integer
Dim newDataBits As String
Console.Write("Data Bits({0}): ", defaultPortDataBits)
newDataBits = Console.ReadLine()
If newDataBits = "" Then
newDataBits = defaultPortDataBits.ToString()
End If
Return Integer.Parse(newDataBits)
End Function
Public Shared Function SetPortStopBits(ByVal defaultPortStopBits As StopBits) As StopBits
Dim newStopBits As String
Console.WriteLine("Available Stop Bits options:")
Dim s As String
For Each s In [Enum].GetNames(GetType(StopBits))
Console.WriteLine(" {0}", s)
Next s
Console.Write("Stop Bits({0}):", defaultPortStopBits.ToString())
newStopBits = Console.ReadLine()
If newStopBits = "" Then
newStopBits = defaultPortStopBits.ToString()
End If
Return CType([Enum].Parse(GetType(StopBits), newStopBits), StopBits)
End Function
Public Shared Function SetPortHandshake(ByVal defaultPortHandshake As Handshake) As Handshake
Dim newHandshake As String
Console.WriteLine("Available Handshake options:")
Dim s As String
For Each s In [Enum].GetNames(GetType(Handshake))
Console.WriteLine(" {0}", s)
Next s
Console.Write("Stop Bits({0}):", defaultPortHandshake.ToString())
newHandshake = Console.ReadLine()
If newHandshake = "" Then
newHandshake = defaultPortHandshake.ToString()
End If
Return CType([Enum].Parse(GetType(Handshake), newHandshake), Handshake)
End Function
End Class
ممنون از کمکت
من دوست دارم که این کدها رو یاد بگیرم
دوست ندارم که حفظشون کنم
فایلی چیزی داری که با خوندنش بتونم این کدهارو یاد بگیرم؟
????
کسی فایل آموزشی درباره ارسال دیتا روی پورت سریال (با دات نت) داره ؟
توی MSDN توضیحات کامل در مورد کلاسه هست. اگه یه خورده کار کرده باشید نباید مشکل دیگه ای داشته باشید؟؟
یکی از دوستام میگفت این کارو با C#.NET یه روزه انجام دادم. اونم در حالی که اولین بارم بود که C#.NET کار میکردم.
نمیفهمم مشکلتون چیه.
(۰۸-تير-۱۳۸۸, ۱۴:۲۷:۴۸)ajlajlajl نوشته است: [ -> ]توی MSDN توضیحات کامل در مورد کلاسه هست. اگه یه خورده کار کرده باشید نباید مشکل دیگه ای داشته باشید؟؟
یکی از دوستام میگفت این کارو با C#.NET یه روزه انجام دادم. اونم در حالی که اولین بارم بود که C#.NET کار میکردم.
نمیفهمم مشکلتون چیه.
منظورتون از" توی MSDN " کجاست
من که توی فروم ها هاچی گشتم چیزی پیدل نکردم؟؟؟!!!!!!!!!!!
کسی نیست که یه لینکی کمکی چیزی بکنه
کد آماده به کارم نمیاد
آخه اینو وایه پروژه ساختم میخوام و باید بتونم خط خط برنامشو توضیح بدم و ازش دفاع کنم ..........
لطفا اینقده منو به اینور و اونور پاس ندین
لینکی کمکی اگه دارین ، همینجا بذارین
ممنون
خب از اولش میگفتین MSDN چیه. این راهنما جامع مایکروسافته.
اگه VS کامل گرفته باشید MSDN هم همراهشه و بعد نصب VS میتونین نصبش کنید.
اصلش هم خود سایت MSDN.COM هسته.
این کدی که من گذاشتم هم از این صفحه است:
http://msdn.microsoft.com/fa-ir/library/...n-us).aspx
هر چیز دیگه ای هم که بخواید توی MSDN هست.
(۱۱-تير-۱۳۸۸, ۲۲:۰۰:۱۷)ajlajlajl نوشته است: [ -> ]خب از اولش میگفتین MSDN چیه. این راهنما جامع مایکروسافته.
اگه VS کامل گرفته باشید MSDN هم همراهشه و بعد نصب VS میتونین نصبش کنید.
اصلش هم خود سایت MSDN.COM هسته.
این کدی که من گذاشتم هم از این صفحه است:
http://msdn.microsoft.com/fa-ir/library/...n-us).aspx
هر چیز دیگه ای هم که بخواید توی MSDN هست.
توی msdn گشتم ولی همش کد آماده است
ولی از یکی پرسیدم که اینارو گفت:
'تنظیمات اولیه
SerialPort1.PortName = "COM1"
SerialPort1.BaudRate = 9600
SerialPort1.DataBits = 8
SerialPort1.StopBits = IO.Ports.StopBits.One
SerialPort1.Parity = IO.Ports.Parity.None
SerialPort1.Handshake = IO.Ports.Handshake.None
SerialPort1.ReceivedBytesThreshold = 1
' باز کردن پورت
SerialPort1.Open()
'ارسال یک رشته
SerialPort1.Write("test")
ممنون از راهنماییاتون
به نظرتون این کدها کار میده؟
نمونه های msdn واسه ما تازه کارها خیلی سنگینه
یه سری از دستوراتی که به کار برده رو نمیدونم چیه
نیاز به یه کد آسون و قابل فهم داشتم....
شما باید تست کنید که کار میکنه که.
ممنون
آخرش با وی بی نوشتم ... و جواب هم داد
فقط میدونین چجوری میشه کامپوننت msscomm رو به دات نت اضافه کنم ؟