关键词不能为空

当前您在: 主页 > 英语 >

基于C#的串口通信上位机和下位机源程序

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-14 00:40
tags:

-

2021年2月14日发(作者:arrangements)



基于单片机串口通信的上位机和下位机实践






串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线

Universal Serial



Bus

< p>
或者


USB


混淆)



大多数计算机包含两个基于


RS232


的串 口。


串口同时也是仪器仪表设备通


用的通信协议;很多


GPIB


兼容的设备也带有


RS-232


口。同时,串口通信协议也可以用于获取


远程采集设备的数据。









串口通 信的概念非常简单,串口按位(


bit


)发送和接收字节。尽管 比按字节(


byte


)的并


行通信慢,


但是串口可以在使用一根线发送数据的同时用另一根线接收数据。


它很简单并且能够


实现远距离通信。比如


IEEE488


定义并行通行状态时,规定设备线总常不得超过


20


米,并且任


意两个设备间的长度不得超过


2

< p>
米;而对于串口而言,长度可达


1200


米。






首先亮出


C#


的源程序吧。



主要界面:








只是作为简单的运用,可以扩展的。




源代码:




using System;



using c;



using entModel;



using



using g;



using



using



using



using





namespace


单片机功能控制




{



public partial class Form1 : Form












{











public Form1()











{















InitializeComponent();











}











SerialPort sp = new SerialPort();













private void button1_Click(object sender, EventArgs e)











{















String str1 = ;//


串口号
















String str2 = ;//


波特率
















String str3 = ;//


校验位
















String str4 = ;//


停止位
















String str5 = ;//


数据位
















Int32 int2 = 32(str2);//


将字符串转为整型
















Int32 int5 = 32(str5);//


将字符串转为整型
















d = true;//LED


控制界面变可选


















try















{






















?


畢瑴湯


?


敔瑸


??


打 开串口


)



















{























if (str1 == null)























{



























敍獳条


?


硯匮潨


?


请 先选择串口!


, Error);



























return;























}

























();























sp = new SerialPort();























me = ;//


串口编号
























te = int2;//


波特率
























switch (str4)//


停止位
























{



























case :































ts =































break;



























case .5:































ts = ntFive;































break;



























case :































ts =



break;
























































default:































(Error


:参数不正确


, Error);































break;























}























switch (str3)























{



























case NONE:































= break;



























case ODD:































= ; break;



























case EVEN:































= break;



























default:































(Error


:参数不正确


, Error);































break;

























}























ts = int5;//


数据位
























= //


设置串口属性
























();//


打开串口
























畢瑴湯


?


敔 瑸


?


尠关闭串口


;























整瑸潂


?


吮 硥


??


潃癮牥


?


潔瑓楲杮猨


?


潐瑲慎敭


??


已开启!


;























}



















else



















{























();























畢瑴湯


?


敔瑸


?< /p>


尠打开串口


;























d = false;//LED


控制界面变灰色











































整瑸潂


?


吮硥


??


潃癮牥


?


潔瑓楲杮猨

< br>?


潐瑲慎敭


??


已关闭!


;



















}















}















catch (Exception er)















{



















(Error: + e, Error);



















return;















}











}













private void Form1_Load(object sender, EventArgs e)











{




初始化


//


























整瑸潂


?


吮硥


??


欢 迎使用简易的串口助手!


;















d = false;//LED


控制界面变灰色
















d = false;















d = false;















d = false;



















d = false;















d = false;















();















try















{



















foreach (string com in tNames())


串行口名称


(com);

























//


默认设置



















选择第一个


com









edIndex = 0;//












4800



edIndex = 4;//


波特率


















NONE edIndex = 0;//


校验位



















1 edIndex = 0;//


停止位为



















8 edIndex = 0;//


数据位为





















}















catch















{
















);


串口调试助手



敍獳条


?


硯匮潨


?


找不到通讯端口!


?



















}















}













private void timer1_Tick(object sender, EventArgs e)











{












= ng();















}













private void button2_Click(object sender, EventArgs e)











{












try {
















)


晩< /p>


?


畢瑴湯


?


敔瑸


??


开启



















{




















d = true;























d = false;























//


获取



自动


d = false;























d = false;























d = false;























d = false;























d = false;












































d = false;























d = false;























d = false;























d = false;























d = false;























d = false;























d = true;























=























畢瑴湯


?


敔 瑸


?


尠关闭


;



















}



















else



















{























d = false;























d = false;























畢瑴湯


?


敔瑸


?


尠开 启


;























=



















}





























}















catch (Exception er)















{



















(Error: + e, Error);



















return;















}













}













private void button3_Click(object sender, EventArgs e)











{















d = true;















慬敢


?< /p>


吮硥


??


已发送


;















if ( == )



















敍獳条


?


硯匮潨


?


发送失败,请选择发送的数据!


);















else















ine();//


往串口写数据












}













private void checkBox1_CheckedChanged(object sender, EventArgs e)











{















try {



















if (d)



















{























d = true;



d = false;












































d = false;























d = false;























d = false;























d = false;























d = false;























d = false;























慬敢< /p>


?


吮硥


??


准备 发送


;























=



















}















}















catch (Exception er)















{



















(Error: + e, Error);



















return;















}











}













private void checkBox2_CheckedChanged(object sender, EventArgs e)











{





























try {



















if (d)



















{























d = false;























d = true;























d = false;























d = false;























d = false;























d = false;























d = false;























d = false;























慬敢


?


吮硥


??


准备发送


;























=























d = false;























d = false;























d = false;























d = false;



















}















}















catch (Exception er)















{



















(Error: + e, Error);



















return;



}
























}













private void checkBox3_CheckedChanged(object sender, EventArgs e)











{















try















{



















if (d)



















{























d = false;























d = false;























d = true;























d = false;























d = false;























d = false;























d = false;























d = false;























d = false;























d = false;























d = false;























d = false;























慬敢


?


吮硥


??< /p>


准备发送


;























=



;




















}















}















catch (Exception er)















{



















(Error: + e, Error);



















return;















}











}

















private void checkBox4_CheckedChanged(object sender, EventArgs e)











{















try















{



















if (d)



















{























d = false;























d = false;























d = false;























d = true;



d = false;












































d = false;























d = false;























d = false;























d = false;























d = false;























d = false;























d = false;























慬敢


?


吮硥


??


准备发送


;























=



;



















}















}















catch (Exception er)















{



















(Error: + e, Error);



















return;















}











}













private void checkBox5_CheckedChanged(object sender, EventArgs e)











{















try















{



















if (d)



















{























d = false;























d = false;























d = false;























d = false;























d = true;























d = false;























d = false;























d = false;























d = false;























d = false;























d = false;























d = false;























慬敢


?


吮硥


??< /p>


准备发送


;























= _x0005_;



















}















}















catch (Exception er)















{



















(Error: + e, Error);



return;
































}











}













private void checkBox6_CheckedChanged(object sender, EventArgs e)











{















try















{



















if (d)



















{























d = false;























d = false;























d = false;























d = false;























d = false;























d = true;























d = false;























d = false;























d = false;























d = false;























d = false;























d = false;























慬敢


?


吮硥


??< /p>


准备发送


;























= ;



















}















}















catch (Exception er)















{



















(Error: + e, Error);



















return;















}











}




-


-


-


-


-


-


-


-



本文更新与2021-02-14 00:40,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/653662.html

基于C#的串口通信上位机和下位机源程序的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文