钜芯公司提供的LT8920_SDK_V1.1.zip里是有蓝牙收发的工程与APK测试工具。可惜只针对STM32F103的。而且把SPI驱动与蓝牙核心代码都打包成了LIB文件提供。无法直接移植到其它单片机平台。但是这是难不倒我强大的IDA+F5逆向工程及人工修正校对方法。经过移植后通信测试状态良好,一开心还没有来得及优化SPI驱动。直接上源码:
9G-SWM181X-rectl-20241105.rar
有3个函数反得晕晕的。感觉是某个标准的CRC校验和算法。没有时间认真核对并消化。只好直接保留源码:
原理图:
串口信息:
测试图片:
调试工具:调试Tools.rar
最近编辑记录 缥缈九哥 (2024-11-05 15:49:27)
离线
感觉这3个晕晕的代码是算数据帧的校验和的。还有应该是32位,8位数据的BIT位MSB -LSB倒置。
离线
终于把这三个函数代码分析调试并补充完整了,否则编译出错BLE发送数据包CRC不对。会被手机端APP扔掉了。
NST_BLE代码.rar
离线
发送数据的串口信息:
手机APP收到的数据:
其中校验算法借助了网页计算方法:
也参考了CSDN帖子:https://blog.csdn.net/weixin_38366885/article/details/134547545 蓝牙BLE的CRC24校验代码C语言
及它提供算法工具网页:http://www.ip33.com/crc.html CRC(循环冗余校验)在线计算
离线