c简单串口收发程序

c简单串口收发程序

ID:20430639

大小:93.56 KB

页数:4页

时间:2018-10-13

c简单串口收发程序_第1页
c简单串口收发程序_第2页
c简单串口收发程序_第3页
c简单串口收发程序_第4页
资源描述:

《c简单串口收发程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、c#串口操作小程序工作上需要川到上位机跟板件上的单片机进行数据交互,所以就川C#编制了一个简单的串口信怠收发程序。界面如不:w为本人单片机程序就比较熟,WINDOWS编程不大懂,只是之前用C#做过一M个小小的测试程序练过手,而且VS2O1O进行界而程序开发还足比较简单,所以就果断用这个工其跟C#來进行开发,人祌勿喷。开发过程中遇到的一个M题是串口的接收。串口接收人体来说杏两个方式,一个是同步读取,也即利川循环不断的读申u缓存,外一个就是利用事件触发的方式。第一种方法效率低,不推荐,第二种则需耍利用到跨线程的内容。本人就是卡在这里一天,其实也就10来句代码的事,无奈自己玩这个没得请教,只有求

2、助万能的百度。经过一天多断续的摸索,终于解决了这个问题。特地写了这个文稿,方便另外一些跟我-•样菜的菜鸟。/(ToT)/-o在贴上代码前,先解释一下代码中会用到的一些控件的名称。1、cmbportname:设置申U号的下拉列表2、cmbbaudrate:设置波特率的卜来列表3、bttopenport:打开/关闭串口的动作按钮4、txSend:要发送的数据显示文本框5、bttSend:发送那妞6、txrecieve:接收到的数掘显不•文木框7、bttClear:清空接收数据的按钮涂黄的代码关系到异步接收数据,以要照着那儿个涂黄的代码改一下,应该就可以实现了功能了。需要完整代码的也可以发邮件给

3、我,lmhseason@126.com。代码中的SP是从工具箱拖进来的一个serialport投件。代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO.Ports;namespaceWindowsFormsApplicationl{publicpartialclassForm

4、l:Form{publicForml(){lnitializeComponent();}publicdelegatevoidgetstring(stringdataRe);//定义否托getstringgetmystring;//定义委托变量privatevoidDollpdate(stringdata){tbRecieve.Text=tbRecieve.Text+data;//数据处理,将当前数据勾文本框义本合并if(label5.BackColor==Color.AliceBlue)//改变lable的颜色,提示收到数据{label5.BackColor=Color.Black;}el

5、selabel5.BackColor=Color.AliceBlue;}voidSP_DataReceived(objectsender,SerialDataReceivedEventArgse)//接收事件触发方法{try{stringmystring=SP.ReadExistingO;getmystring=newgetstring(Dol)pdate);lnvoke(getmystring,mystring);}catch(ExceptionEX){MessageBox.Show(EX.Message,nfli错",MessageBoxButtons.OK,MessageBoxIco

6、n.Error);return;}}privatevoidbttOpenPort_Click(objectsender,EventArgse)//打开串口按钮甲-it•事件函数tryif(SP.IsOpen==true)//如果当前串口是处于打开状态,则屯击按紐为关闭中口动作cmbPortName.Enabled=true;//使能串口号获取控件cmbBaudRate.Enabled=true;//使能波特率设靑挖件bttSend.Enabled=false;//关闭发送数据按钮SP.CIoseO;//关闭串UbttOpenPort.Text="打开串口";//将打开按钮文字改为打开串口}

7、elseif(SP.IsOpen==false)//如果当前串口是处于关闭状态,则单击按钮为打开串口动作{cmbPortName.Enabled=false;//关闭串口号获取控件cmbBaudRate.Enabled=false;//X闭波特率设置校件bttOpenPort.Text="关闭串口";//将打开按钮文字改为关闭串口SP.BaudRate=Convert.Tolntl6(cmbBaudRate.Select

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。