懂C#和VB串口的进来看看

来源:百度知道 编辑:UC知道 时间:2024/04/30 18:36:17
VB的代码为:
Dim a As Variant

Private Sub Form_Load()
MSComm1.InBufferSize = 1024
MSComm1.CommPort = 1
Timer1.Interval = 100
Timer1.Enabled = True
MSComm1.InputMode = comInputModeText

End Sub

Private Sub Timer1_Timer()

MSComm1.Settings = "9600,n,8,1"
MSComm1.InputLen = 1024
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True
End If
If MSComm1.InBufferCount > 0 Then
a = MSComm1.Input
End If
Label1.Caption = a
End Sub
请写出对应C#的代码
sorry.请直接回答我问的问题,我只需要对应的C#代码
C#对应的控件为serialPort,其实跟VB中的MSComm的用法一样,只是对应的属性写法不一样,其实我就是对应的一些属性不会写,才让写出对应的一些代码
二楼只是将导入窗体和时间控件的事件改成了C#的写法,关健的东西并没有写出来.

MSComm1这个控件没有别人怎么写!大概这样写把,肯定有错误!
不知道你的意思是把你上面那段代码改成C#代码还是用C#的SerialPort 类来重写?加入只是把你VB代码改成C#那我下面基本就是,因为C# VB更本就差不多的东西。有些人问问题也不想想自己怎么问的,只需要对应的C#代码 这句话不知道那个猪说的!VB里怎么写的在C#还是怎么写,只是语法变了。你VB代码里关健的东西并没有写出来你要别人C#凭空给你猜测一些关键东西出来?不懂就不要乱问!

object a ;

private void Form1_Load(object sender, EventArgs e)
{

MSComm1.InBufferSize = 1024;
MSComm1.CommPort = 1 ;
Timer1.Interval = 100 ;
Timer1.Enabled = True ;
MSComm1.InputMode = comInputModeText ; //这个C#可能是枚举类型的

}

private void timer1_Tick(object sender, EventArgs e)
{
MSComm1.Settings = "9600,n,8,1" ;
MSComm1.InputLen = 1024 ;
If(!MSComm1.PortOpen)
{
MSComm1.PortOpen = True ;
}
If (MSComm1.InBufferCount > 0)
{
a = MSComm1.Input ;
}
Label1.text= a ;
}
C#
int PortSelect=0// COM1口
private SerialPort sp = null;
sp = new SerialPort(PortSelect);
sp.BaudRate = 7600;波特率