arduino与c#上位机点灯实例的上下位机通讯

时间:2024-10-12 16:51:03

1、这里是上位机C#编写的程序的主程序namespace 假期作业{ public partial class Form1 : Form { SerialPort port; public Form1() { InitializeComponent(); this.FormClosed += new FormClosedEventHandler(Form1_FormClosed); comboBox1.Items.Add("1200"); comboBox1.Items.Add("2400"); comboBox1.Items.Add("4800"); comboBox1.Items.Add("9600"); comboBox1.Items.Add("14400"); comboBox1.Items.Add("19200"); comboBox1.Items.Add("28800"); comboBox1.Items.Add("38400");//常用的波特率 try { string[] ports = SerialPort.GetPortNames();//得到接口名字 //将端口列表添加到comboBox this.comboBox2.Items.AddRange(ports); ///设置波特率 port.BaudRate = Convert.ToInt32(comboBox1.Text); } catch (Exception ex) { if (port == null) { //COM7为Arduino使用的串口号,需根据实际情况调整 port = new SerialPort("COM7", 9600); port.Open(); } } } void Form1_FormClosed(object sender, FormClosedEventArgs e) { if (port != null && port.IsOpen) { port.Close(); } }

2、这里是arduino下位机的程序int LED2 = 2;int LED3 = 3;int LED4 = 4;int L呶蓟鹭毵ED5 = 5;int LED6 = 6;int LED7 = 7;int LED8 = 8;int LED9 = 9;String serialString = "";//串口数据缓存字符串void setup(){ pinMode(LED9, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(LED4, OUTPUT); pinMode(LED5, OUTPUT); pinMode(LED6, OUTPUT); pinMode(LED7, OUTPUT); pinMode(LED8, OUTPUT); Serial.begin(9600); serialString.reserve(200);//初始化字符串}void loop(){ char receiveVal ;//串口数据缓存字符串 if(Serial.available() > 0) { receiveVal = Serial.read(); if( receiveVal == '1') digitalWrite(LED2, HIGH); else if(receiveVal == '2') digitalWrite(LED3, HIGH); else if(receiveVal == '3') digitalWrite(LED4, HIGH); else if(receiveVal == '4') digitalWrite(LED5, HIGH); else if(receiveVal == '5') digitalWrite(LED6, HIGH); else if(receiveVal == '6') digitalWrite(LED7, HIGH); else if(receiveVal == '7') digitalWrite(LED8, HIGH); else if(receiveVal == '8') digitalWrite(LED9, HIGH); else if(receiveVal == 'a') digitalWrite(LED2, LOW); else if(receiveVal == 'b') digitalWrite(LED3, LOW); else if(receiveVal == 'c') digitalWrite(LED4, LOW); else if(receiveVal == 'd') digitalWrite(LED5, LOW); else if(receiveVal == 'e') digitalWrite(LED6,LOW); else if(receiveVal == 'f') digitalWrite(LED7,LOW); else if(receiveVal == 'g') digitalWrite(LED8, LOW); else if(receiveVal == 'h') digitalWrite(LED9, LOW); } }

3、最后这里是效果图,这个图片里有点灯和熄灯的介绍请参考上面程序看

arduino与c#上位机点灯实例的上下位机通讯
arduino与c#上位机点灯实例的上下位机通讯
arduino与c#上位机点灯实例的上下位机通讯
arduino与c#上位机点灯实例的上下位机通讯
© 手抄报圈