C#下的RS232串口通讯!看看!有分散哦!

leiminghui 2003-10-17 02:01:08
哈哈。各位!我现在在做一个有关ITS的项目。难得公司抬举要用c#开发。万分头痛!因为用到很多设备。以前用VB的时候可以用微软的MSCOM通讯控件。现在在C#下,我真的没则了,望请各位指点指点!最好希望能够有源代码!
...全文
80 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
leiminghui 2003-10-20
  • 打赏
  • 举报
回复
我发现在c#中引入了MSCOMM它不象在VB一样可以看到有一个电话模样的图标,也就是说是可视
的。这个通讯控件不可视没关系。但我要引入大恒图像捕捉卡的控件。我要用它显示图像并且抓拍,兄弟,教我一下如何将我引入的COM在C#的窗体里显示出来。
Geoson 2003-10-20
  • 打赏
  • 举报
回复
up
leiminghui 2003-10-20
  • 打赏
  • 举报
回复
各位大侠,不怕你们笑话。我用了。NET的“添加引用”--选择“COM”然后选择了MSCOMM控件。原来不象VB等控件是可视的。现在我犯傻了。比如我要打开串口。这时候我不知道代码怎么下手呀。望各位大侠在见笑之下指点指点!
wuzhiwen 2003-10-19
  • 打赏
  • 举报
回复
如果你在VB中用MSCOMM控件,作过,继续用MSCOMM啊,这样对你来说,快一些啦,
其它还有很多方法,像用微软在.NET下的串口控件,还有,自己用API来写
SeeSunSet 2003-10-18
  • 打赏
  • 举报
回复
无非是端口通讯嘛....
CreateFile是一个API,比如这样写:

Const GENERIC_READ = &H80000000
Const GENERIC_WRITE = &H40000000

Const OPEN_EXISTING = 3

Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" _
(ByVal lpFileName As String, ByVal dwDesiredAccess As Integer, ByVal dwShareMode As Integer, ByVal lpSecurityAttributes As Integer, ByVal dwCreationDisposition As Integer, ByVal dwFlagsAndAttributes As Integer, ByVal hTemplateFile As Integer) As IntPtr

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim iHandle As IntPtr
iHandle = CreateFile("LPT1", GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0)
If (iHandle.ToInt32 = -1) Then
MsgBox("can not open port")
Else
MsgBox("Open Succes!")
Dim fs As New FileStream(iHandle, FileAccess.ReadWrite)
Dim sr As New StreamReader(fs) '读数据
Dim sw As New StreamWriter(fs) '写数据
End If
End Sub
ArLi2003 2003-10-18
  • 打赏
  • 举报
回复
可以使用mscomm 控件,如果想自己操作设备,可以用难度较高的 DeviceIoControl API
kangzerun 2003-10-17
  • 打赏
  • 举报
回复
也用 mscomm 控件,把 mscomm 控件引入到项目中
直接用即可
C#串口介绍以及简单串口通信程序设计实现 源代码和串口程序介绍连接:https://www.cnblogs.com/JiYF/p/6618696.html 本站积分太贵,自己变得。。直接到连接地址下载代码 周末,没事干,写个简单的串口通信工具,也算是本周末曾来过,废话不多,直接到主题 串口介绍   串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。(至于再详细,自己百度) 串口应用:   工业领域使用较多,比如:数据采集,设备控制等等,好多都是用串口通信来实现!你要是细心的话,你会发现,目前家用国网智能电能表就具备RS485通信总线(串行总线的一种)与RS232可以相互转化(当然一般,非专业的谁也不会闲的蛋疼,趴电表上瞎看,最多也就看看走了多少度电) RS232 DB9介绍: 1.示意图 2.针脚介绍: 载波检测(DCD) 接受数据(RXD) 发出数据(TXD) 数据终端准备好(DTR) 信号地线(SG) 数据准备好(DSR) 请求发送(RTS) 清除发送(CTS) 振铃指示(RI) 3.实物图: 以下是我购买XX公司的一个usb转串口线:这个头就是一个公头,另一端是一个usb口 笨小孩串口工具运行图: 1.开启程序 2.发送一行字符串HelloBenXH,直接将针脚的发送和接收链接起来就可以测试了(针脚2 接受数据(RXD) 和3 发出数据(TXD))直接链接, C#代码实现:采用SerialPort 1.实例化一个SerialPort [csharp] view plain copy 在CODE上查看代码片派生到我的代码片 private SerialPort ComDevice = new SerialPort(); 2.初始化参数绑定接收数据事件 [csharp] view plain copy 在CODE上查看代码片派生到我的代码片 public void init() { btnSend.Enabled = false; cbbComList.Items.AddRange(SerialPort.GetPortNames()); if (cbbComList.Items.Count > 0) { cbbComList.SelectedIndex = 0; } cbbBaudRate.SelectedIndex = 5; cbbDataBits.SelectedIndex = 0; cbbParity.SelectedIndex = 0; cbbStopBits.SelectedIndex = 0; pictureBox1.BackgroundImage = Properties.Resources.red; ComDevice.DataReceived += new SerialDataReceivedEventHandler(Com_DataReceived);//绑定事件 }

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧