自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 【BT 协议】HOST 层协议汇总

1)HCI(HOST CONTROLLER INTERFACE):主机控制层接口,主要负责透过transport把协议栈的数据发送给蓝牙芯片,并且接受来自蓝牙芯片的数据,数据主要分为:HCI COMMAND(HOST->CONTROLLER)HCI EVENT(HOST<-CONTROLLER)HCI SCO、HCI ACL(HOST<->CONTROLLER)2)L2CAP(Logical Link Control and Adaptation Protocol):逻辑链路

2020-10-13 16:09:12 1491 1

原创 【MFC】MFC 处理界面右上角的 X 按钮的消息

在 XxxDlg.cpp 中的 BEGIN_MESSAGE_MAP,添加ON_WM_CLOSE()添加 OnClose() 函数实体void XxxDlg::OnClose(){ // TODO: Add your message handler code here and/or call default ... CDialog::OnClose();}

2020-09-22 13:21:47 1976

原创 【MFC】启动和关闭第三方 exe

MFC 开启进程:最后一个参数可以显示或是不显示第三方 exe 的界面ShellExecute(this->m_hWnd, L"open", L"xxx.exe", NULL, NULL, SW_SHOWNORMAL); //SW_HIDEMFC 关闭进程首先要找到该进程的句柄或ID,然后调用 TerminateProcess() 来进行关闭#include "tlhelp32.h"void KillProcess(CString sExeName){ HANDLE hSnapSho

2020-09-22 11:36:36 1521 3

原创 【BTStack】BTStack 修改 CSR 4.0 dongle 蓝牙地址

为了验证电脑一拖 N 蓝牙dongle,买了几个 CSR 4.0 的 dongle,地址都是一样的,为00:1A:7D:DA:71:13,需要对此进行修改。CSR 是一家 BT 芯片厂商,于 2015 年 8 月被 Qualcomm 收购,在 BTStack 的代码路径下:\btstack\chipset\csr\csr_set_bd_addr.cMSYS2 编译后,在路径\btstack\port\windows-winusb下会生成一个 exe 文件csr_set_bd_addr.

2020-08-19 15:10:22 798

转载 【BT 协议】HFP 协议

原文链接:https://blog.csdn.net/shichaog/article/details/52123439HFP协议 HFP(Hands-free Profile),让蓝牙设备可以控制电话,如接听、挂断、拒接、语音拨号等,拒接、语音拨号要视蓝牙耳机及电话是否支持。目前HFP的使用场景有车载蓝牙,耳机和PDA,定义了AG和HFP两种角色。 AG(Audio Gate)音频网关—音频设备输入输出网关 HF(Hands Free)免提—该设备作为音频网关的远程音频输入/输出机

2020-08-12 15:28:13 3259

转载 【BTStack】BTStack 硬件环境搭建

本文链接:https://blog.csdn.net/ylangeia/article/details/103849110硬件环境方式一选择使用蓝牙dongle,比如IVT的千月dongle,主要是为了提供蓝牙控制器端的支持方式二如果笔记本电脑自带蓝牙功能,可以直接使用软件环境驱动替换如上图,当插入dongle之后,我的电脑总共有两个蓝牙设备,如果想用千月作为蓝牙发射器的话,我们需要替换驱动,打开Zadig(通用usb驱动)工具,如下图所示:选择Options->List

2020-08-11 15:48:50 523

原创 【BTStack】BTStack 软件环境搭建

针对Windows首先安装MSYS2:提供编译,执行命令等窗口界面使用MSYS2安装gcc:pacman -S mingw-w64-x86_64-gcc使用MSYS2安装python:pacman -S python使用MSYS2安装git:pacman -S git使用MSYS2安装winpty:pacman -S winpty使用MSYS2安装make:pacman -S make完成上述步骤之后,就可以使用git克隆最新版本:git clone https://github.com

2020-08-11 09:43:30 678

转载 【BT 协议】HFP - AT 命令集

蓝牙电话之HFP-AT命令集蓝牙HFP协议中的AT命令都是复用《3GPP 27.007》和《GSM 07.07》这两个协议规定的AT命令集中的一部分指令,本篇只对HFP相关的AT命令学习下。AT命令在AG和HF之间的交互是建立于RFCOMM连...

2020-08-10 16:39:05 1961

原创 【BT 协议】HFP 连接时的 AT 指令流程

AT+BRSF = ,HF告知AG其所支持的特性+BRSF :,AG向HF响应其所支持的特性AT+BAC = ,HF告知AG其可用的编码器AT+CIND=?,HF向AG询问其所支持的指示器,以及它们的顺序AT+CIND? ,HF读取AG所支持指示器的状态AT+CMER,HF使能AG指示器状态更新功能AT+CHLD=?,查询AG如何支持call waiting和多方服务AT+BIND = ,HF告知AG其支持指示器特性AT+BIND=? ,HF向AG询问AG所支持的HF指示器信息AT+BIN

2020-08-10 13:41:03 1372

原创 【Windows 编程】获取当前时间,并转化成字符串

网上的例子:#include <time.h>int getNowTime(char *nowTime){ char acYear[5] = {0}; char acMonth[5] = {0}; char acDay[5] = {0}; char acHour[5] = {0}; char acMin[5] = {0}; char acSec[5] = {0}; time_t now; struct tm* timenow; time(&now); tim

2020-08-07 10:52:03 553

原创 【BTStack】运行 BTStack 提示“无法启动此程序,因为计算机丢失 libwinpthread-1.dll。尝试重新安装该程序一解决此问题”

之前使用pthread_create()在BTStack中起线程,带来了一个问题,编译出来的exe,双击执行的时候弹出一个对话框,如题,使用CreateThread()则不会出现。在MSYS2中使用./xxx.exe方式启动,也不会出现,libwinpthread-1.dll文件MSYS2已经存在,在MSYS2中通过命令执行应该能找到,而双击exe的方式是找不到的。网上总结的方法:把libwinpthread-1.dll copy到C:\Windows\System32在编译选项后面添加 -st

2020-08-07 10:46:22 2349

原创 【BTStack】实现 Socket 通信

添加一个功能,在PC上开发一个上位机软件,实现与BTStack通信,考虑使用虚拟串口,网上实现方法很多,需要先安装一个工具把com虚拟出来(成对的com口),在双方的代码中使用类似于open的方式打开com口,具体没有去实现。换成Socket通信,比较简单,不需要去虚拟串口,大概实现如下(代码都是在网上copy的):server端:#include <WinSock2.h>//#pragma comment(lib,“ws2_32.lib”)…servSock = socket(PF

2020-08-07 10:16:10 293

原创 【BTStack】启动新线程

在源码中有一些起线程的例子,使用的接口是CreateThread(),其实也可以用pthread_create(),前者是用在windows环境中,后者用在Linux环境中,在MSYS2 64位中试了一下,都可以,可能是MSYS2环境集成了以上两个环境,能更好的兼容吧,还是建议按照OS来选择合适的接口。如:Windows中thread_handle = CreateThread(NULL, 0, &thread_process, NULL, 0, NULL);Linux中pthread

2020-08-07 09:55:43 138

原创 【文件操作】fopen() 参数解析

文件打开方式:1、“r” 打开一个用于读取的文本文件2、“w” 创建一个用于写入的文本文件3、“a” 附加到一个文本文件4、“rb” 打开一个用于读取的二进制文件5、“wb” 创建一个用于写入的二进制文件6、“ab” 附加到一个二进制文件7、“r+” 打开一个用于读/写的文本文件8、“w+” 创建一个用于读/写的文本文件9、“a+” 打开一个用于读/写的文本文件10、“rt” 只读打开一个文本文件,只允许读数据11、“wt” 只写打开或建立一个文本文件,只允许写数

2020-08-04 16:50:46 2710

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除