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;
using System.Threading;namespace 蓝牙
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        SerialPort serialPort1 = new SerialPort();
        private void Form1_Load(object sender, EventArgs e)
        {
           string [] str=SerialPort.GetPortNames();
           foreach (string Portname in str)
           {
               this.comboBox1.Items.Add(Portname);
           }
           serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);
         
        }
        private void ReceiveData()
        {
            string Message = serialPort1.ReadLine();
        }        private void button1_Click(object sender, EventArgs e)
        { 
            serialPort1.PortName = "COM1";
          
            serialPort1.BaudRate = 10000;            
            serialPort1.Open();
            try
            {
                byte[] data = Encoding.Unicode.GetBytes("你个死串口收到没");
                string str = Convert.ToBase64String(data);
                
                serialPort1.WriteLine(str);
                MessageBox.Show("数据发送成功!", "系统提示");
            }
            catch 
            {
                MessageBox.Show("数据发送失败!", "系统提示");
            }
        }        void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            MessageBox.Show(serialPort1.ReadExisting(),"收到啦");
        }                private void button2_Click(object sender, EventArgs e)
        {           
        }
    }
}

解决方案 »

  1.   

    如果是真实串口,你不2,3两个脚短接,你自己发的数据当然收不到,除非别人发来哦。如果是蓝牙的串口仿真协议下,模拟串口,要确认几点:
    1.蓝牙有没有连上
    2.蓝牙连接的是什么设备,是否是哑终端
    3.你发的什么格式,对方是否会应答?你可以下载sscomm这个串口调试工具先看看串口是否能接收到数据,如果可以,那你这样写也可以。如果那个都不行。就要看看硬件,协议,或是其他问题了。
      

  2.   

                serialPort1.PortName = "COM1";//com口写死了是com1??
              
                serialPort1.BaudRate = 10000;//这波特率怎么这么别扭
      

  3.   

    http://shop59948518.taobao.com/?search=y&price1=&price2=&pageNum=9&scid=0&keyword=&old_starts=&categoryp=&pidvid=&orderType=hotsell&viewType=grid&isNew=&ends=&baobei_type=#anchor
      

  4.   

    http://ireaper.codeplex.com/
      

  5.   

    http://faxdotnet.codeplex.com/