我使用 STM32WB5MMG 制作了一个 Demo,用于与 USB 加密狗或手机通信(BLE NOTIFICATION),并通过触发下降沿中断从 MAX30001(两个中断引脚 PC10 和 PC11,SPI1 通信)和 MAX30112 芯片(中断引脚 PD0,I2C3 通信)收集数据。但我发现了一些难以解决的问题。 问题描述: 1. 1.我的程序只有在第一次下载时才能正常运行。再次开机时,演示程序无法正常运行。 2.如果在 MX_APPE_Init() 函数中添加 APPD_Init(),且 CFG_DEBUGGER_SUPPORTED 为 0,则可以正常采集 MAX30112 的数据(断电后重启也正常)并通过蓝牙发送。但完全没有关于 MAX30001 的任何消息,我不知道问题出在哪里。 3.为此我去查看APPD_Init()函数,我发现影响最大的程序是__HAL_RCC_GPIOB_CLK_DISABLE()(上图所示)。注释掉这个语句,我就会只有第一次下载程序是正常的;不注释语句,我就只可以蓝牙接收MAX30112的数据,MAX30001失效,并且二次上电也是正常的。下图是我GPIO设置。 3.我运行了官方例程 BLE_HeartRate。运行完全正常。 4.我以前用SWV进行调试(没有添加蓝牙),只是单纯有线输出,它工作也是正常的 为解决这个问题,我该如何入手
|