IPC/NVR/可视门铃等具备多媒体能力的设备,扫地机/AGV等机器人设备
-
cxl
- Posts: 10
- Joined: 2025年 Apr 2日 17:55
我遇到的问题:
在app可以扫描到蓝牙设备时,点击设备蓝牙配网失败
我做过的验证:
1.通过nRF工具连接蓝牙,下发数据,设备log中看有正常收到数据,但是收到数据时上报TKL_BLE_GATT_EVT_WRITE_REQ事件与相关数据,nRF上未收到数据,tkl_ble_gatts_value_notify接口内我加的打印并未出现,应该未执行到此接口
2.在tkl_ble_gatts_service_add中实现的代码中,将p_service_param->p_char[0].handle赋值后,并打印出来,然后在app上点击配网,TKL_BLE_GATT_EVT_WRITE_REQ事件上报时打印事件参数event.gatt_event.write_report.char_handle所赋值一致,并在事件上报后,蓝牙驱动内部收到蓝牙挂断的消息disconnect; reason=0x213(此驱动错误码为:远程用户终止连接错误代码表示远程设备上的用户要么终止了连接,要么停止了广播数据包)
附:蓝牙配网202504021816.log, tkl_bluetooth.c
-
Attachments
-
- tkl_bluetooth.c
- (78.13 KiB) Downloaded 20 times
-
- 蓝牙配网202504021816.log
- (52.38 KiB) Downloaded 17 times
Tags:
-
cxl
- Posts: 10
- Joined: 2025年 Apr 2日 17:55
我核对了,uuid均一致的,这是我这里连接后的截图
-
Attachments
-

-
cxl
- Posts: 10
- Joined: 2025年 Apr 2日 17:55
我这里连接后查看是一致的,在log中也打印出来了,均是一致的
-
cxl
- Posts: 10
- Joined: 2025年 Apr 2日 17:55
tal_ble_peripheral_test.c示例文件中看在收到TAL_BLE_EVT_WRITE_REQ事件时会判断随事件传入的char_handle与本地存储的可写handle,一致的话会进入数据回传,然后还有printf("Connect Handle(0x%02x), Char Handle(0x%02x)\r\n", p_event->ble_event.write_report.peer.conn_handle, p_event->ble_event.write_report.peer.char_handle[0]);这个打印,目前看打印也没有出现,是否本地存储的与我传入的不一致?但是我在tkl_ble_gatts_service_add中有给handle表赋值,可有debug版本的T23的库有更多打印的协助排查下问题
-
郭老庄
- Posts: 236
- Joined: 2022年 Sep 28日 15:44
君正工具链有点儿乱,你把工具链信息提供一下,我出个debug版本
-
cxl
- Posts: 10
- Joined: 2025年 Apr 2日 17:55
郭老庄 2025年 Apr 2日 20:14
君正工具链有点儿乱,你把工具链信息提供一下,我出个debug版本
Target: mips-linux-gnu
Configured with: /project/Mips-Toolchain/release_3.x.x-gcc5.4.0/src/gcc-5-2015.11/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=mips-linux-gnu --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-arch-32=mips32r2 --with-arch-64=mips64r2 --with-float=hard --with-mips-plt --enable-extra-sgxxlite-multilibs --with-gnu-as --with-gnu-ld --with-specs='-DCS_SOURCERYGXX_MAJ=2015 -DCS_SOURCERYGXX_MIN=11 -DCS_SOURCERYGXX_REV=32' --enable-languages=c,c++,fortran --enable-shared --enable-lto --enable-symvers=gnu --enable-__cxa_atexit --with-glibc-version=2.22 --with-pkgversion='Ingenic r3.3.7-gcc540 Fix: forbid mxu2 division into delay slot . 2024.10-18' --disable-nls --prefix=/project/Mips-Toolchain/release_3.x.x-gcc5.4.0/install/opt/codesourcery --with-sysroot=/project/Mips-Toolchain/release_3.x.x-gcc5.4.0/install/opt/codesourcery/mips-linux-gnu/libc --with-build-sysroot=/project/Mips-Toolchain/release_3.x.x-gcc5.4.0/install/opt/codesourcery/mips-linux-gnu/libc --with-gmp=/project/Mips-Toolchain/release_3.x.x-gcc5.4.0/obj/pkg-2015.11-32-mips-linux-gnu/mips-2015.11-32-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --with-mpfr=/project/Mips-Toolchain/release_3.x.x-gcc5.4.0/obj/pkg-2015.11-32-mips-linux-gnu/mips-2015.11-32-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --with-mpc=/project/Mips-Toolchain/release_3.x.x-gcc5.4.0/obj/pkg-2015.11-32-mips-linux-gnu/mips-2015.11-32-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --with-isl=/project/Mips-Toolchain/release_3.x.x-gcc5.4.0/obj/pkg-2015.11-32-mips-linux-gnu/mips-2015.11-32-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --enable-libgomp --disable-libitm --enable-libatomic --disable-libssp --disable-libcc1 --enable-poison-system-directories --with-python-dir=mips-linux-gnu/share/gdb/python --with-build-time-tools=/project/Mips-Toolchain/release_3.x.x-gcc5.4.0/install/opt/codesourcery/mips-linux-gnu/bin --with-build-time-tools=/project/Mips-Toolchain/release_3.x.x-gcc5.4.0/install/opt/codesourcery/mips-linux-gnu/bin SED=sed
Thread model: posix
gcc version 5.4.0 (Ingenic r3.3.7-gcc540 Fix: forbid mxu2 division into delay slot . 2024.10-18)
-
cxl
- Posts: 10
- Joined: 2025年 Apr 2日 17:55
郭老庄 2025年 Apr 2日 20:14
君正工具链有点儿乱,你把工具链信息提供一下,我出个debug版本
tkl本地数据与外部有交互的看能不能都有打印,以方便我确认看是哪些地方参数赋值不对
-
郭老庄
- Posts: 236
- Joined: 2022年 Sep 28日 15:44
-
Attachments
-
- libtuyaos.tar.gz
- (2.01 MiB) Downloaded 18 times
-
cxl
- Posts: 10
- Joined: 2025年 Apr 2日 17:55
郭老庄 2025年 Apr 3日 11:57加了日志
使用了这个debug的库,看打印果然与本地的对不上,TAL_COMMON_WRITE_CHAR_INDEX对应的handle默认为0吗,我有在tkl_ble_gatts_service_add中进行赋值呢,是否没有同步到本地?
[tkl_ble_gattc_data_proc:224]send gatt event type:7 (TKL_BLE_GATT_EVT_WRITE_REQ)
[tkl_ble_gattc_data_proc:225]event.gatt_event.write_report.char_handle :1
gf:p_event->ble_event.write_report.peer.char_handle[0] = 1
gf:ble_peripheral_info.char_handle[TAL_COMMON_WRITE_CHAR_INDEX] = 0