本帖最后由 BinWin 于 2023-8-7 22:07 编辑
从CubeMX开始从头配置BLE工程还没有完全搞明白,但是ST官方提供了很多例程。在例程基础上实现一些简要功能还是相对容易的。
比如之前帖子内提到的WEB蓝牙工具,可以把数据实时绘制成曲线展示。这里就用HeartRate来作为基础工程。
首先要找到心率产生的函数所在。从工程的文件夹可以基本判定在哪里。
在hrs_app.c内就是心率数据的处理。回顾一下这个demo的运行效果。一个规律的波形。
到这里基本明朗了,替换为随机数来看下效果。
再次运行以上修改过的程序,web图表就会显示一个随机数的波形,100以内。
上次测试了ADC采集的功能,这里就把刚刚的随机数改为一次AD采集,就可以借助这个图形化的WEB工程展示了板卡的数据。
参考修改如下部分。
if (HAL_ADC_Start(&hadc4) != HAL_OK)
{
/* Start Conversation Error */
Error_Handler();
}
HAL_ADC_PollForConversion(&hadc4, 10);
if ((HAL_ADC_GetState(&hadc4) & HAL_ADC_STATE_REG_EOC) == HAL_ADC_STATE_REG_EOC)
{
ADC_ValueIN4 = HAL_ADC_GetValue(&hadc4);
}
measurement = ADC_ValueIN4*806;//mV
不出意外,引脚悬空的波形和随机数那个图形也差不多了。不妨看下WEB端的数据格式吧,打开WEB调试界面,看看有没有debug数据打印。
没想到还真的有呢,可以结合单片机端的程序进一步分析出协议的格式了,一般都是json字串,比较容易看出来的。
|