C# 使用RS_232协议在PC和单片机之间通信 如题,在winform页面点击按钮发送转换成十六进制的命令给单片机。也可以接受单片机发送的十六进制命令。我这方面完全菜。。求大神。有具体代码更好。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 哥们推荐你看看这个帖子,我的串口入门就用的这个,讲的很不错,照猫画虎的能做出来http://topic.csdn.net/u/20100908/17/2ddd33e7-6777-49c3-bba8-2988cf15af4e.html 使用串口控件SerialPort ,可以下载一个VSPM虚拟串口,进行测试。 看看这个帖子,正在做和类似的东西吧。http://topic.csdn.net/u/20121011/18/5f689eab-d3d2-4122-9463-eeb5e18b21b8.html?seed=2034343600&r=79871435#r_79871435发送数据outbuf = new byte[6] { 0x10, 0x02, 0x00, 0x5C, 0x5E, 0x16 }; commPlc.Write(outbuf, 0, outbuf.Length);接收数据:void commPlc_DataReceived(object sender, SerialDataReceivedEventArgs e) { byte[] buffer=new byte[commPlc.BytesToRead]; commPlc.Read(buffer, 0, commPlc.BytesToRead); instr = ""; foreach (byte b in buffer) { instr += b.ToString("X2"); }commPlc这个应该是SerialPort控件 这个控件倒是有。。我一个界面有N个按钮,是只用一个SerialPort 就可以了还是。。另外还有接受数据,同样的数量问题怎么破。。我这方面完全不会 楼主,推荐你看一本书,很实用,《Visual C#.NET串口通信及测控应用典型实例》,电子工业出版社一开始我也是一窍不通,所以看那些帖子什么的都看不懂,那些帖子是基于稍微懂点serialPort的人,对于完全不懂这个控件的挺难看懂的那时我连事件是什么都不知道,后来没办法只能去买书 哈,我用vb.net做了简单的串口示波器,用单片机采样的,要就联系我,c#未学完所以不太了解 应该是你有几个COM口,就用几个SerialPort,如果你本身硬件支持双通,那一个就可以了,本身SerialPort是可以write和read的! 。。楼主你为什么就不愿意去找几个实例来看看呢现在连COM口都还不知道,又不肯看例子,难道要别人帮你把程序写好吗。你在通信的时候不需要你知道232的协议,232是底层的东西,你不知道也不影响通信,距我上次回这帖都3天过去了。楼主你还在纠结看几个例子不就懂了 COM口指串口,因为一般对串口都命名为COM1,COM2... RS232的原理不需要你知道,你会用就行。推荐你看看SerialPort的属性方法等让你们老板给报销买本书吧看你在这纠结书上有例子,一步步教你怎么设置串口,怎么使用,网上得到资源毕竟有限 关于灰度值图像的显示 将datagridview的数据导出到word,还有程序中动态生成的图片! 这个计算很怪· 大家说说论坛里有三颗星四颗星的猩猩们到底长得是什么样子的? C#窗口中如何播放音乐 C#中的[DllImport]支持哪些种类的dll? 我把数据库中一个blob字段用流读出,字段中存的是文字信息,如何把二进制的流转换成字符串? udpclient是否可以创建套接字啊 关于mdac! 为什么我在我机器上编译的程序在其它机器不能运行? 求解惑!!遍历问题.. 求:算法
http://topic.csdn.net/u/20121011/18/5f689eab-d3d2-4122-9463-eeb5e18b21b8.html?seed=2034343600&r=79871435#r_79871435发送数据
outbuf = new byte[6] { 0x10, 0x02, 0x00, 0x5C, 0x5E, 0x16 };
commPlc.Write(outbuf, 0, outbuf.Length);
接收数据:
void commPlc_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
byte[] buffer=new byte[commPlc.BytesToRead];
commPlc.Read(buffer, 0, commPlc.BytesToRead);
instr = "";
foreach (byte b in buffer)
{
instr += b.ToString("X2");
}
commPlc这个应该是SerialPort控件
现在连COM口都还不知道,又不肯看例子,难道要别人帮你把程序写好吗。
你在通信的时候不需要你知道232的协议,232是底层的东西,你不知道也不影响通信,
距我上次回这帖都3天过去了。楼主你还在纠结看几个例子不就懂了
COM口指串口,因为一般对串口都命名为COM1,COM2...
RS232的原理不需要你知道,你会用就行。
推荐你看看SerialPort的属性方法等
让你们老板给报销买本书吧看你在这纠结书上有例子,一步步教你怎么设置串口,怎么使用,网上得到资源毕竟有限