您好!
我试图 通过 SPI 通信从 ADS 1298读取12导联 ECG 数据。 我始终读取相同的8位数据。 是这样吗?
此外、流数据是否有任何结构(例如在任何数据包结构中获取)?
谢谢。
内利马
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
您能否更清楚地解释您的问题?
您是否有 ADS1298评估套件/电路板(EVM)?
-------------------------------------------------------
您能检查一下是否让您
是否完成了正确的上电顺序?
是否完成了正确的复位序列?
是否已按照数据表中的 SPI 时序图正确且重复地读取 ID:ID 控制寄存器(地址= 00h)?
----------------
您要尝试读取什么数据或信号?
您的信号源可能是什么?
您还能尝试读取内部测试信号吗?
谢谢
您好!
我们没有使用 ADS1298评估套件/板(EVM)。
我已经检查了上电顺序。 基本上、我能够读取和写入 AFE 的寄存器。 我正是通过这种方法来确认上电序列正常。
现在、我将尝试从各个通道读取12导联 ECG 数据。 下面给出了我完成的配置。
void ADS1298_init ()
{
HAL_DELAY (1000);
ADS1298_Power_Up_Seq ();
HAL_DELAY (1000);
ADS1298_Power_Up_Seq ();
HAL_DELAY (100);
ADS1298_SDATAC ();
HAL_DELAY (100);
ADS1298_writeReg (config1、0b01000100);
HAL_DELAY (100);
ADS1298_writeReg (CONFIG2、0x40);//复位
HAL_DELAY (100);
ADS1298_writeReg (CONFIG3、0b11001100);
HAL_DELAY (100);
ADS1298_writeReg (LOFF、0x41);//////////////////////////////
HAL_DELAY (100);
ADS1298_writeReg (CH1SET、0b01100000);//通道1处于活动状态
HAL_DELAY (100);
ADS1298_writeReg (CH2SET、0b01100000);//通道2处于活动状态
HAL_DELAY (100);
ADS1298_writeReg (CH3SET、0b01100000);//通道3处于活动状态
HAL_DELAY (100);
ADS1298_writeReg (CH4SET、0b01100000);//通道4处于活动状态
HAL_DELAY (100);
ADS1298_writeReg (CH5SET、0b01100000);//通道5处于活动状态
HAL_DELAY (100);
ADS1298_writeReg (CH6SET、0b01100000);//通道6处于活动状态
HAL_DELAY (100);
ADS1298_writeReg (CH7SET、0b01100000);//通道7处于活动状态
HAL_DELAY (100);
ADS1298_writeReg (CH8SET、0b01100000);//通道8处于活动状态
HAL_DELAY (100);
ADS1298_writeReg (RLD_SENSP、0b11111111);通道2的//RNDP 有效
HAL_DELAY (100);
ADS1298_writeReg (RLD_SENSN、0b11111111);通道2的//RLDN 有效
HAL_DELAY (100);
ADS1298_writeReg (LOFF_SENSP、0b11111111);
HAL_DELAY (100);
ADS1298_writeReg (LOFF_SENSN、0b11111111);
HAL_DELAY (100);
ADS1298_Start ();
HAL_DELAY (100);
ADS1298_RDATAC ();
HAL_DELAY (100);
}
主要部分如下:
while (1)
{
/*用户代码结束时间*/
/*用户代码开始3 */
ADS1298_readReg (LOFF_STATP);
if (HAL_GPIO_ReadPin (GPIOB、GPIO_PIN_9)= GPIO_PIN_RESET)
{
HAL_GPIO_WritePin (GPIOA、GPIO_PIN_4、GPIO_PIN_RESET);// CS 低电平
HAL_SPI_RECEIVE (&hspi1、&ecgData、1、HAL_MAX_DELAY);//接收数据
HAL_GPIO_WritePin (GPIOA、GPIO_PIN_4、GPIO_PIN_SET);// CS 低电平
}
}
尝试读取 ECG 数据时、我在 提供输入和不提供输入的情况下获得了0xC0。 这有什么问题吗?
您好!
在观察 ECG 信号之前、让我们后退一步。
您能先检查一下吗?
是否已按照数据表中的 SPI 时序图正确且重复地读取 ID:ID 控制寄存器(地址= 00h)?
您还能尝试读取内部测试信号吗?
让我们确保可以首先正确读取内部测试信号。
----------------
您要尝试读取什么数据或信号?
您的信号源可能是什么?
信号源是否来自 ECG 模拟器?
如果可以正确读取内部测试信号、则尝试查看您是否可以从 ECG 模拟机成功读取单通道 ECG。
谢谢