蓝牙一直没有调出来.万般无奈之下只得看代码.

本文介绍了如何使用宏定义实现字符颜色输出,并通过一系列调试步骤解决了蓝牙通信中的问题。包括使用bluetoothctl工具进行蓝牙设备控制,以及排查BLEScanner在手机APP中存在的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

让字符有颜色.

RED='\033[0;31m'
NC='\033[0m' # No Color
printf "I ${RED}love${NC} Stack Overflow\n"
把这个保存为一个 sh文件,然后执行.可以看到结果.

bluetooth中有一堆这个宏定义

#define COLOR_OFF   "\x1B[0m"
#define COLOR_RED   "\x1B[0;91m"
#define COLOR_GREEN "\x1B[0;92m"
#define COLOR_YELLOW    "\x1B[0;93m"
#define COLOR_BLUE  "\x1B[0;94m"
#define COLOR_BOLDGRAY  "\x1B[1;30m"
#define COLOR_BOLDWHITE "\x1B[1;37m"

看了半天,没什么发现.
却忽然调通了.
发现.可能是通过dbus的方式的通信的方法.
我的手机APP接收信息会有一点小问题.(可能所有的android手机)都会有这样的小问题.
怀疑了半天没有找到问题的所在.

经验教训

人生感悟

内心不够强大.
一个人在黑夜中行走.难免心中慌慌.
人生很多的时候会在黑夜中行走.
首先一定要对自己充满信心.不要放弃.
相信自己经过这个事情后会对未来,和人生更加充满信心.

代码层面

其实去剖析代码也是可以的.
要知道所有的代码,都是基于逻辑.C的逻辑已经足够了.
不论是一堆乱七八糟的程序语言.一堆乱七八糟的框架.一堆乱七八糟的系统.本质上都是逻辑.也就是都是C.

逻辑推理

一条链路上的不管是哪一个结点,都可能出错.都需要去测试.
以前我一直以为,手机APP(BLE Scanner)不会出现问题.
结果.问题恰恰出现在这里.

http://www.cnblogs.com/eat-too-much/p/7851435.html
步骤.
感谢这位大神提供的bluetooth 5.47 openwrt的版本.
github还是很不错的.把世界上的所有代码连接在一起.
https://github.com/lishaohsuai/packages/tree/master/utils/bluez

直接控制 bluetoothctl
echo -e 'power on\nconnect \t \nquit' | bluetoothctl

当sdptool browse loacl 没有查看到服务的时候
https://raspberrypi.stackexchange.com/questions/41776/failed-to-connect-to-sdp-server-on-ffffff000000-no-such-file-or-directory
使用chmod 777 /var/run/sdp

转载于:https://www.cnblogs.com/eat-too-much/p/8023553.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值