|
今天用C#写了一个单片机串口的上位机,如图,单片机用跳线使串口的第2、3针连接,在本地计算机上实现串口通信
电脑发送数据很正常(提示发送成功),但是一点接收缓冲区的数据的时候电脑就没反应的,好像瘫痪了,不知道哪里出错了~~
菜鸟一只,忘高人相助
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.IO.Ports;
- namespace WindowsFormsApplication1
- {
- public partial class t : Form
- {
- public t()
- {
- InitializeComponent();
- }
- private void t_Load(object sender, EventArgs e)
- {
- label1.Text = "端口";
- button4.Enabled = false;
- //get port names
- comboBox1.Items.AddRange(System.IO.Ports.SerialPort.GetPortNames());
- }
- private void button1_Click(object sender, EventArgs e)
- {
- byte[] data = Encoding.Unicode.GetBytes(textBox1.Text);
- string str = Convert.ToBase64String(data);
- serialPort1.WriteLine(str);
- MessageBox.Show("数据发送成功!", "系统提示");
- }
- private void button2_Click(object sender, EventArgs e)
- {
- byte[] data = Convert.FromBase64String(serialPort1.ReadLine());
- textBox2.Text = Encoding.Unicode.GetString(data);
- //serialPort1.Close();
- MessageBox.Show("数据接收成功!", "系统提示");
- }
- private void button3_Click(object sender, EventArgs e)
- {
- serialPort1.PortName = "COM4";
- serialPort1.BaudRate = 9600;
- serialPort1.Open();
- button3.Enabled = false;
- button4.Enabled = true;
- }
- private void button4_Click(object sender, EventArgs e)
- {
- serialPort1.Close();
- button4.Enabled = false;
- button3.Enabled = true;
- }
- private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
- {
-
- }
- private void label1_Click(object sender, EventArgs e)
- {
-
- }
- }
- }
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|