你好
我在一个项目中工作、我正在使用连接到微控制器 STM32WB55的 ADS1299。数据是通过 ADS1299获取的、数据通过 SPI 总线发送到微控制器、然后微控制器通过 UART 总线将数据发送到计算机。 为了测试 ADS1299、我在从电极获取数据之前使用300mV 10Hz 正弦波。 问题是、在捕获数据时、有些数据的值不是正确的值、其余数据的值是正确的。 因此、当我像下面的图像那样打印采集的数据结果时:
此外、当我使用 ADS1299的内部测试信号时、采集的数据似乎也是正常的。
我还检查了与逻辑分析仪的 SPI 通信、通信似乎正常、因此我不知道问题是来自通信还是来自数据采集。 这是 SPI 通信的屏幕截图。 UART 总线工作正常。 它已经过独立测试。
ADS1299的配置方式如下:
CONFIG1 = 0xD6
CONFIG2 = 0xD5
CONFIG3 = 0xE0
CHnSET = 0x00
其他寄存器具有复位值。
我要读取 de miso 行的 c 代码是下面的代码。 lectura 是一个用于存储接收到的数据的数组。
LL_SPI_Enable (SPI1);
HAL_GPIO_WritePin (GPIOA、CHIP_SELECT_Pin、 GPIO_PIN_RESET);
对于 (unsigned int j=0;j<27;j+=4){
LL_SPI_TransmitData8 (SPI1、0x00);
LL_SPI_TransmitData8 (SPI1、0x00);
LL_SPI_TransmitData8 (SPI1、0x00);
LL_SPI_TransmitData8 (SPI1、0x00);
lectura j]= SPI1->DR;
lectura j+1]= SPI1->DR;
lectura [j+2]= SPI1->DR;
lectura [j+3]= SPI1->DR;
}
HAL_GPIO_WritePin (GPIOA、CHIP_SELECT_Pin、 GPIO_PIN_SET);
LL_SPI_Disable (SPI1);
有人知道为什么会发生 ADS1299行为? 这种行为与 ADS1299和 SPI 通信是否相关、还是微控制器的问题以及数据的存储方式?
如果有人需要有关该项目的更多信息、请告诉我、我将发布它。


