-
2019-03-07 16:06:48
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.IO.Ports;namespace BluetoothTest
{
public class Printer
{
SerialPort server = new SerialPort();
private string _portName = “COM6”;//蓝牙一般默认为com6
///
/// 获取或设置端口名称
///
public string PortName
{
get
{
_portName = server.PortName;
return _portName;
}
set
{
_portName = value;
server.PortName = _portName;
}
}
///
/// 端口是否已经打开
///
public bool IsOpen
{
get
{
return server.IsOpen;
}
}
///
/// 构造方法初始化串口参数
///
public Printer()
{//初始化各个参数
server.BaudRate = 9600;//波特率
server.Parity = 0;//校检位
server.DataBits = 8;//数据位
server.StopBits = StopBits.One;//停止位
server.PortName = _portName;//端口名称
server.WriteTimeout = -1;//超时时间
server.ReadTimeout = -1;//超时时间
}
///
/// 打开端口
///
///
public bool OpenPort()
{
try
{
if (!server.IsOpen)
{//关闭的
server.Open();
}
else
{//打开的
//server.Close();
//server.Open();
}
return true;
}
catch(Exception ex)
{ return false; }
}
///
/// 发送数据
///
///
///
public bool SendDataToPort(string str,out string mes)
{
try
{
byte[] OutBuffer;//数据
int BufferSize;
Encoding targetEncoding;
//将[UNICODE编码]转换为[GB码],仅使用于简体中文版mobile
targetEncoding = Encoding.GetEncoding(0); //得到简体中文字码页的编码方式,因为是简体中文操作系统,参数用0就可以,用936也行。
BufferSize = targetEncoding.GetByteCount(str); //计算对指定字符数组中的所有字符进行编码所产生的字节数
OutBuffer = new byte[BufferSize];
OutBuffer = targetEncoding.GetBytes(str); //将指定字符数组中的所有字符编码为一个字节序列,完成后outbufer里面即为简体中文编码
byte[] cmdData = new byte[BufferSize+100];
//初始化打印机
cmdData[0] = 0x1B;
cmdData[1] = 0x40;
//设置字符顺时旋转180度
cmdData[2] = 0x1B;
cmdData[3] = 0x56;
cmdData[4] = 0;
for (int i = 0; i < BufferSize; i++)
{
cmdData[5 + i] = OutBuffer[i];
}
//向打印机发送[GB码]数据
server.Write(cmdData, 0, BufferSize + 5);
//server.WriteLine(str);
//初始化指令1B 40
cmdData[0] = 0x1B;
cmdData[1] = 0x40;
//打印并走纸指令
cmdData[2] = 0x1B;
cmdData[3] = 0x64;
cmdData[4] = 0x02;
server.Write(cmdData, 0, 5);
mes = “”;
return true;
}
catch(Exception ex)
{
mes = ex.Message;
return false;
}
}
///
/// 十六进制转换字节数组
///
///
///
private byte[] HexStringToByteArray(string s)
{
s = s.Replace(" ", “”);
byte[] buffer = new byte[s.Length / 2];
for (int i = 0; i < s.Length; i += 2)
buffer[i / 2] = (byte)Convert.ToByte(s.Substring(i, 2), 16);
return buffer;
}
///
/// 字节数组转换十六进制
///
///
///
private string ByteArrayToHexString(byte[] data)
{
StringBuilder sb = new StringBuilder(data.Length * 3);
foreach (byte b in data)
sb.Append(Convert.ToString(b, 16).PadLeft(2, ‘0’).PadRight(3, ’ '));
return sb.ToString().ToUpper();
}
public void ClosePort()
{
server.Close();
}
}
}
3.接下在项目窗体上的使用,看看下面的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace BluetoothTest
{
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
Printer printer = new Printer();
private void menuItem4_Click(object sender, EventArgs e)
{
//退出
printer.ClosePort();
Application.Exit();
}
private void menuItem2_Click(object sender, EventArgs e)
{
//打印
if (tbxBody.Text.Length == 0)
return;
setEnabled(false);
if (!printer.IsOpen)//只有在端口关闭的时候才能设置
printer.PortName = drpPort.GetItemText(drpPort.SelectedItem);
if (!printer.OpenPort())
{
MessageBox.Show(“无法打开端口” + drpPort.GetItemText(drpPort.SelectedItem));
}
string mes = “”;
if (!printer.SendDataToPort(tbxBody.Text,out mes))
{
MessageBox.Show(“发送数据失败” + drpPort.GetItemText(drpPort.SelectedItem) + " " + mes);
}
setEnabled(true);
}
private void setEnabled(bool b)
{
menuItem1.Enabled = b;
menuItem3.Enabled = b;
}
private void frmMain_Load(object sender, EventArgs e)
{
//初始化
drpPort.SelectedIndex = 1;
}
}
}更多相关内容 -
C# 蓝牙通讯实例
2018-11-22 11:33:32主要实现了PC蓝牙基本通信,具有一定的参考价值,包括蓝牙配对和文件收发,本文实例为大家分享了C#实现PC蓝牙通信代码。 -
C#蓝牙4.0,低耗蓝牙源码例子
2019-10-22 14:09:56C#连接低耗蓝牙源码例子,支持连接,发送,接收 -
C# 蓝牙 文件传输 DEMO
2017-06-23 08:52:08C# 蓝牙 文件传输 完整 DEMO -
C#蓝牙客户端与服务器通讯
2022-03-25 09:37:52蓝牙,异步初始化, -
C#蓝牙编程开源库_InTheHand.Net.Personal.dll
2021-04-18 15:31:06于2016年3月20日从32Feet官方站点下载的Windows C#蓝牙开发支持库—InTheHand.Net.Personal.dll,亲测可用,包含.Net 3.5 和 .NET 3.7两个版本, -
c#蓝牙通讯源码
2018-11-08 08:36:46这是一个c#蓝牙通讯源代码,供大家参考学习。 -
C#蓝牙编程开源库_InTheHand.Net.Personal.dll.rar
2019-05-15 09:55:54亲测可用,检测蓝牙,传输文件里面是安装包,需要setup后使用 说明: 1.这两个文件夹中的内容均于2016.3.20下载自官方网站,安全可靠 2.这个两个文件夹分别为3.5版本 3.其中32feet.NET 3.5为安装文件,安装后可以在... -
C#扫描蓝牙WinFormDemo
2021-10-05 21:55:23C#扫描蓝牙WinFormDemo -
C#蓝牙开发SDK内附有文档
2019-09-12 17:06:59C#蓝牙开发SDK内附有文档-可用于开发蓝牙通讯协议,内附有详细文档 -
c# 蓝牙通讯 winform
2021-12-27 20:44:37c#蓝牙通讯代码,在win10机器间可以通讯。代码是我根据网上找的资料整合起来的,在稍稍加上自己的业务逻辑。 -
C#蓝牙通讯 蓝牙模块HC-06
2022-03-28 14:11:32创建C# Form项目 需要在__工具__>>__ NuGet包__下载InTheHand.Net.Bluetooth 目录蓝牙连接部分蓝牙消息发送部分 蓝牙连接部分 program.cs中的代码如下 这部分只负责蓝牙连接 using System; using InTheHand...编程工具:Visual Studio 2022社区版
创建C# Form项目
需要在__工具__>>__ NuGet包__下载InTheHand.Net.Bluetooth蓝牙连接部分
program.cs中的代码如下
这部分只负责蓝牙连接using System; using InTheHand.Net.Sockets; using InTheHand; using InTheHand.Net.Bluetooth; using System.Threading; using System.IO; using System.Text; using System.Collections.Generic; using System.Diagnostics; namespace blueTooth1 { internal static class Program { public static BluetoothClient bluetoothClient; public static bool isConnected; public static bool getDevice() { Trace.WriteLine("Finding Devides..."); //BluetoothRadio.PrimaryRadio.Mode = InTheHand.Net.Bluetooth.RadioMode.Connectable; BluetoothClient cli = new BluetoothClient(); IReadOnlyCollection<BluetoothDeviceInfo> devices = cli.DiscoverDevices(); foreach (BluetoothDeviceInfo device in devices) //设备搜寻 { //device.Update(); device.Refresh(); Trace.WriteLine(device.DeviceName); if (device.DeviceName == "JDY-31-SPP")//蓝牙名称,需要自己修改,连接前请打开蓝牙 { Trace.WriteLine("Connecting..."); try { if (!device.Connected) { Debug.WriteLine(device.DeviceAddress); Debug.WriteLine(BluetoothService.SerialPort); cli.Connect(device.DeviceAddress, BluetoothService.Handsfree);//BluetoothService.Handsfree Trace.WriteLine("Connected!"); bluetoothClient = cli; ReceiveData(); } else Trace.WriteLine("Has Been Connected!"); } catch (Exception e) { Trace.WriteLine("Failed:" + e); try { cli.Connect(device.DeviceAddress, BluetoothService.SerialPort);//BluetoothService.Handsfree Trace.WriteLine("Connected!"); bluetoothClient = cli; ReceiveData(); } catch (Exception e0) { Trace.WriteLine("Failed:" + e0); } } break; } } //Thread ReceiveThread = new Thread(ReceiveData); //ReceiveThread.Start(); return true; } private static void ReceiveData() { isConnected = bluetoothClient.Connected; //下面这部分是获取所连接的蓝牙设备发送的信息 //while (isConnected) //{ // try // { // string receive = string.Empty; // Stream peerStream = bluetoothClient.GetStream(); // byte[] buffer = new byte[255]; // peerStream.Read(buffer, 0, 255); // receive = Encoding.UTF8.GetString(buffer).ToString().Replace("\0", ""); // //Trace.ReadKey(); // Trace.Write(receive); // } // catch (Exception e) // { // Trace.Write("Error:" + e); // break; // } //} } } } namespace blueTooth { internal static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Trace.WriteLine("hello"); blueTooth1.Program.getDevice(); // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); Application.Run(new Form1()); } } }
蓝牙消息发送部分
发送的是ConnectPacket 数据类型需要自己定义
在51单片机C语言程序里用SBUF 接收蓝牙发送的消息(注意大写)
private void send() { if (ConnectPacket != null) { if (blueTooth1.Program.isConnected) { try { string receive = string.Empty; BluetoothClient BC = blueTooth1.Program.bluetoothClient; Stream peerStream = BC.GetStream(); //byte[] buffer = new byte[255]; peerStream.WriteByte((byte)ConnectPacket);//发送ConnectPacket消息 //Trace.ReadKey(); // Trace.Write(ConnectPacket); } catch (Exception er) { Trace.Write("Error:" + er); } } Thread.Sleep(100); } }
-
C# 蓝牙通信
2015-04-10 17:43:39C# 蓝牙通信 获取电子设备发送的数据。上传下载 -
C#蓝牙链接+传输文件
2021-11-23 15:42:37C#上位机蓝牙收发文件先下载InTheHand.Net.Personal.dll并在C中引用
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using System.Windows.Forms; using InTheHand.Net; using InTheHand.Net.Bluetooth; using InTheHand.Net.Sockets; using InTheHand.Windows.Forms; using System.Net; using System.IO; using System.IO.Ports; namespace WindowsFormsApp1 { public partial class Form1 : Form { BluetoothRadio radio = null;//蓝牙适配器 string sendFileName = null;//发送文件名 BluetoothAddress sendAddress = null;//发送目的地址 ObexListener listener = null;//监听器 string recDir = null;//接受文件存放目录 Thread listenThread, sendThread;//发送/接收线程 public Form1() { InitializeComponent(); radio = BluetoothRadio.PrimaryRadio;//获取当前PC的蓝牙适配器 CheckForIllegalCrossThreadCalls = false;//不检查跨线程调用 if (radio == null)//检查该电脑蓝牙是否可用 { MessageBox.Show("这个电脑蓝牙不可用!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } recDir = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); textBox1.Text = recDir; } BluetoothClient Blueclient = new BluetoothClient(); Dictionary<string, BluetoothAddress> deviceAddresses = new Dictionary<string, BluetoothAddress>(); private void Form1_Load(object sender, EventArgs e) { } private void buttonSelectBluetooth_Click(object sender, EventArgs e) { SelectBluetoothDeviceDialog dialog = new SelectBluetoothDeviceDialog(); dialog.ShowRemembered = true;//显示已经记住的蓝牙设备 dialog.ShowAuthenticated = true;//显示认证过的蓝牙设备 dialog.ShowUnknown = true;//显示位置蓝牙设备 if (dialog.ShowDialog() == DialogResult.OK) { sendAddress = dialog.SelectedDevice.DeviceAddress;//获取选择的远程蓝牙地址 labelAddress.Text = "地址:" + sendAddress.ToString() + " 设备名:" + dialog.SelectedDevice.DeviceName; } } private void buttonSelectFile_Click(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); if (dialog.ShowDialog() == DialogResult.OK) { sendFileName = dialog.FileName;//设置文件名 labelPath.Text = Path.GetFileName(sendFileName); } } private void buttonselectRecDir_Click(object sender, EventArgs e) { FolderBrowserDialog dialog = new FolderBrowserDialog(); dialog.Description = "请选择蓝牙接收文件的存放路径"; if (dialog.ShowDialog() == DialogResult.OK) { recDir = dialog.SelectedPath; labelRecDir.Text = recDir; } } private void buttonListen_Click(object sender, EventArgs e) { if (listener == null || !listener.IsListening) { radio.Mode = RadioMode.Discoverable;//设置本地蓝牙可被检测 listener = new ObexListener(ObexTransport.Bluetooth);//创建监听 listener.Start(); if (listener.IsListening) { buttonListen.Text = "停止"; labelRecInfo.Text = "开始监听"; listenThread = new Thread(receiveFile);//开启监听线程 listenThread.Start(); } } else { listener.Stop(); buttonListen.Text = "监听"; labelRecInfo.Text = "停止监听"; } } private void buttonSend_Click(object sender, EventArgs e) { sendThread = new Thread(sendFile);//开启发送文件线程 sendThread.Start(); } private void sendFile()//发送文件方法 { ObexWebRequest request = new ObexWebRequest(sendAddress, Path.GetFileName(sendFileName));//创建网络请求 WebResponse response = null; try { buttonSend.Enabled = false; request.ReadFile(sendFileName);//发送文件 labelInfo.Text = "开始发送!"; response = request.GetResponse();//获取回应 labelInfo.Text = "发送完成!"; } catch (System.Exception ex) { MessageBox.Show("发送失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); labelInfo.Text = "发送失败!"; } finally { if (response != null) { response.Close(); buttonSend.Enabled = true; } } } private void receiveFile()//收文件方法 { ObexListenerContext context = null; ObexListenerRequest request = null; while (listener.IsListening) { context = listener.GetContext();//获取监听上下文 if (context == null) { break; } request = context.Request;//获取请求 string uriString = Uri.UnescapeDataString(request.RawUrl);//将uri转换成字符串 string recFileName = recDir + uriString; request.WriteFile(recFileName);//接收文件 labelRecInfo.Text = "收到文件" + uriString.TrimStart(new char[] { '/' }); } } private void textBox1_TextChanged(object sender, EventArgs e) { } private void labelRecDir_Click(object sender, EventArgs e) { } SerialPort BluetoothConnection = new SerialPort(); int length = 20; string BlueToothReceivedData = ""; private void button3_Click(object sender, EventArgs e) { string[] Ports = SerialPort.GetPortNames(); for(int i = 0; i < Ports.Length; i++) { string name = Ports[i]; comboBox.Items.Add(name);//显示在消息框里面 } } private void send_Click(object sender, EventArgs e) { BluetoothClient cli = new BluetoothClient(); BluetoothEndPoint ep = null; try { // [注意2]:要注意MAC地址中字节的对应关系,直接来看顺序是相反的,例如 // 如下对应的MAC地址为——12:34:56:78:9a:bc ep = new BluetoothEndPoint(sendAddress, BluetoothService.SerialPort); cli.Connect(ep); // 连接蓝牙 if (cli.Connected) { MessageBox.Show("端口1已打开"); Stream peerStream = cli.GetStream(); peerStream.WriteByte(0xBB); // 发送开门指令 } else { MessageBox.Show("端口1没打开"); } } catch { Console.WriteLine("123123"); Console.ReadLine(); } finally { if (cli != null) { // [注意3]:要延迟一定时间(例如1000毫秒) //避免因连接后又迅速断开而导致蓝牙进入异常(傻逼)状态 Thread.Sleep(1000); cli.Close(); } } /// byte[] head = new byte[8] { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 };//随便写的一组数据,里面的数据无意 try { BluetoothConnection.PortName = comboBox.Text; BluetoothConnection.BaudRate = 9600; BluetoothConnection.Open();//打开蓝牙串口 if (BluetoothConnection.IsOpen) { BlueToothReceivedData = " d1_on"; MessageBox.Show("端口已打开"); BlueToothReceivedData = " d1_on"; //BluetoothConnection.Write(head, 0, head.Length); BluetoothConnection.Write("12323"); Thread.Sleep(1000); MessageBox.Show("完成"); } //BluetoothConnection.WriteLine(BlueToothReceivedData); //byte[] head = new byte[8] { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 };//随便写的一组数据,里面的数据无意义 BluetoothConnection.Write(head, 0, head.Length); } catch { label1.Text = "发送失败"; ; } } private void get_Click(object sender, EventArgs e) { byte[] data = new byte[length]; try { BluetoothConnection.Read(data, 0, length); } catch { label1.Text = " 接受失败"; } for (int i = 0; i < length; i++) { BlueToothReceivedData += string.Format("data[{0}] = {1}\r\n", i, data[i]);//"+="表示接收数据事件发生时,触发"+="后面的语句 } } private void Form1_FormClosed(object sender, FormClosedEventArgs e) { if (sendThread != null) { sendThread.Abort(); } if (listenThread != null) { listenThread.Abort(); } if (listener != null && listener.IsListening) { listener.Stop(); } } } }
-
c#蓝牙通信接收数据
2020-12-20 13:58:57文章 史迪奇2号 2017-05-17 1162浏览量 [C#] 编程控制笔记本蓝牙与外部蓝牙设备通信 一、蓝牙模块XLBT232‐D01介绍外部设备蓝牙 1.1、蓝牙模块简介 XLBT232-D0101蓝牙模块采用CSR BlueCore 芯片配置6-8Mbit 的软件...带你读《从实践中学习TCP/IP协议》之一:网络概述
信息安全技术大讲堂点击查看第二章点击查看第三章从实践中学习TCP/IP协议
大学霸IT达人 编著第1章 网 络 概 述
计算机网络是通过数据通信技术将孤立的计算机连接起来,使其能够共享文件和传输数据。通过实现网络连接,计算机的作用被几十倍、几百倍地放大。由于网络的不断发展,各种应用也...
文章
温柔的养猫人
2019-11-15
985浏览量
[体感游戏] 1、MPU6050数据采集传输与可视化
最近在研究体感游戏,到目前为止实现了基于51单片机的MPU6050数据采集、利用蓝牙模块将数据传输到上位机,并利用C#自制串口数据高速采集软件,并且将数据通过自制的折线图绘制模块可视化地展示出来等功能。本文将主要对实现这意见单系统中遇到的问题做一个小结——其中包括:
1、基于51的MPU605...
文章
史迪奇2号
2017-05-17
1162浏览量
[C#] 编程控制笔记本蓝牙与外部蓝牙设备通信
一、蓝牙模块XLBT232‐D01介绍外部设备蓝牙
1.1、蓝牙模块简介
XLBT232-D0101蓝牙模块采用CSR BlueCore 芯片配置6-8Mbit 的软件存储空间
支持AT 指令用户可根据需要更改SPP 角色主、从模式以及串口波特率、
设备名称、配对密码等参数使用灵活。
...
文章
史迪奇2号
2017-07-30
1157浏览量
Quick BI 数据可视化分析平台
2020年入选全球Gartner ABI魔力象限,为中国首个且唯一入选BI产品
广告
《Linux设备驱动开发详解 A》一一2.3 接口与总线
本节书摘来华章计算机出版社《Linux设备驱动开发详解 A》一书中的第2章,第2.3节,作者:宋宝华 更多章节内容可以访问云栖社区“华章计算机”公众号查看。1
2.3 接口与总线
2.3.1 串口 RS-232、RS-422与RS-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并...
文章
华章计算机
2017-05-02
1545浏览量
1、CC2541蓝牙4.0芯片中级教程——基于OSAL操作系统的运行流程了解+定时器和串口例程了解
本文根据一周CC2541笔记汇总得来——
适合概览和知识快速索引——
全部链接:
中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探
【插入】SourceInsight-工程建立方法
中级教程-OSAL操作系统(OSAL系统解基本套路)
中级教程-OSAL操作系统(进一步...
文章
史迪奇2号
2017-08-07
1093浏览量
带你读《物联网之魂:物联网协议与物联网操作系统》之一: 网络通信技术
物联网工程实战丛书点击查看第二章物联网之魂:物联网协议与物联网操作系统
孙昊 王洋 赵帅 杜秀芳 曾凡太 编著第1章 网络通信技术
1.1 数字通信概述
数字通信是指用数字信号作为载体来传输信息,或者用数字信号对载波进行数字调制后再传输的通信方式。它的主要技术设备包括发射器...
文章
温柔的养猫人
2019-11-12
536浏览量
带你读《物联网渗透测试》之一:IoT渗透测试
网络空间安全技术丛书点击查看第二章点击查看第三章物联网渗透测试IoT Penetration Testing Cookbook
亚伦·古兹曼(Aaron Guzman)阿迪蒂亚·古普塔(Aditya Gupta)王 滨 戴 超 冷 门 张 鹿 译第1章
IoT渗透测试虽然1999年美国麻省理工学...
文章
温柔的养猫人
2019-11-04
2364浏览量
阿里云物联网平台C-SDK 4.x版本网关子设备如何上报物模型?
业务场景
1、子设备与子设备、网关与子设备之间通过业务协议进行通信(ZigBee、wifi、蓝牙等)2、网关设备连接物联网平台,创建物理通道,并代理子设备上线创建逻辑通道3、子设备通过逻辑通道与物联网平台进行通信,但是实际不建立任何物理上的连接。
原理介绍1、子设备上报物模型,首先得满足网关-...
文章
IoT-波bollg
2020-10-27
250浏览量
《黑客大曝光:移动应用安全揭秘及防护措施》一1.2 移动风险模型
本节书摘来自华章出版社《黑客大曝光:移动应用安全揭秘及防护措施》一书中的第1章,第1.2节,作者 (美)Neil Bergman ,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1.2 移动风险模型
好的,目前我们已经确定了:移动应用规模巨大;移动应用看起来非常不安全。那我们现在应该怎么做...
文章
华章计算机
2017-07-03
1306浏览量
从现实世界的角度去理解计算机领域的知识
“ 从现实世界的角度看计算机,可以帮助我们更清晰的学习计算机领域的知识。本文试图用生活中常见的事物来解释计算机技术领域,让知识更通俗易懂 ”
这篇文章的阅读对象是计算机专业在读及刚进入工作一年左右的的同学,文章措辞也许不太严谨,主要目的是为了让大家更容易理解。
一、 便利店背后的“系统”...
文章
unicornlien
2020-09-15
404浏览量
【揭晓】工业互联网平台浪潮来临,最全的国内外平台都长的啥样!
工业互联网刚刚兴起,十九大和两会领导人也多次提及。但是对于新生事物,每个厂家、每个组织、每个人的都理解都不一样,甚至千差万别,正因为如此才会有无限生机。但是也有其共性的东西,1、要是一个云平台、2、是一个资源平台,3、是一个物联网平台,4、是一个数据存储平台、5、是一个分析平台.....
文章
唯笑志在
2018-03-11
4528浏览量
Andriod 通话处理流程
Andriod通话处理流程
一、总览
1、从java端发送at命令的处理流程。
2、unsolicited 消息从modem上报到java的流程。
3、猫相关的各种状态的监听和通知机制。
4、通话相关的图标变换的工作原理。
5、gprs拨号上网的通路原理。
6、通话相关的语音通路切换原理、震动接口...
文章
叶林森
2010-12-21
608浏览量
-
c#蓝牙软件
2019-01-16 13:20:00vs2010环境下,c#语言开发,蓝牙搜索与测试软件,实现数据收发. -
C# 蓝牙驱动程序
2019-03-04 22:35:36C# 蓝牙驱动程序 。 -
C#代码连接蓝牙设备
2019-09-05 11:40:29c#代码编写连接 PC 蓝牙连接到苹果手机的蓝牙,测试连接可行,网上很多代码,很混乱,不好连接! -
Windows系统中使用C#编写蓝牙通信程序的简单实例
2020-09-02 13:03:53主要介绍了Windows系统中使用C#编写蓝牙通信程序的简单实例,文中的例子使用到了32feet.NET中的InTheHand.Net.Personal类库,需要的朋友可以参考下 -
C# 蓝牙控制器
2015-04-07 22:31:23C#编写的蓝牙控制器 淘来的 感觉挺不错的,分享一下 -
C# 蓝牙SDK
2014-03-21 16:43:56一个基于.Net平台的蓝牙开源SDK,供大家参考,方便大家用其开发基于蓝牙的windows应用!欢迎有兴趣的朋友下载! -
C#蓝牙检索、通讯.rar
2021-06-22 11:23:38通过第三方库InTheHand.Net.Personal.dll,检索附近可用蓝牙设备,实现通信,可直接运行 -
C#蓝牙开源库-inthehand.net.personal.dll
2021-02-19 11:27:58支持win10 86位,亲测可用;从csdn上下载了一个没注明版本了弄了好长时间,最后发现是DLL版本问题,希望后面的人不要继续浪费时间了。 -
BluetoothLE_InTheHand_C#_C#ble_giving46w_蓝牙_
2021-10-03 12:38:21原来的InTheHand.dll只能支持到蓝牙3.0 -
C#蓝牙 Bluetooth 设备 配对、连接、通信 二次开发 中间件
2020-08-23 21:31:32该中间件实现了配对,连接...语言:C# 2、系统流程图 3、程序说明: 工程名 说明 核心 BluetoothTest 蓝牙设备演示程序 Sinops.Bluetoot. -
C#蓝牙打印源代码 windowsmoible
2010-03-08 15:28:37C#蓝牙打印(windowsmobile) C#蓝牙打印(windowsmobile) C#蓝牙打印(windowsmobile) C#蓝牙打印(windowsmobile)C#蓝牙打印源代码可以直接运行 -
C#低功耗蓝牙通信
2018-12-25 09:46:01Windows下低功耗网上的资料真的是太少了,终于找到一个有用的上传一下,很多坑都一个个攻克了,这个代码是可行的,实践以证明 -
C#蓝牙通信(客户端SPP)+串口通信+画图插值处理
2022-05-27 16:52:05原用途:测量光纤随温度的系数 双模 (蓝牙客户端SPP+串口通信): 蓝牙采用InTheHand.Net.Bluetooth 框架为.Net framework4.6.2 -
C# 蓝牙配对连接发送及接收文件源代码全(测试通过)
2022-04-26 15:47:59C#利用开源控件InTheHand.Net.Personal.dll制作的完整配对,发送及接收文件,可以连接手机也可以连接电脑。