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.

[参考译文] MSP430FR2355:带 MSP430FR2355的 SLAA458脉动式血氧计

Guru**** 2516170 points
Other Parts Discussed in Thread: MSP430FR2355

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/914410/msp430fr2355-slaa458-pulse-oximeter-with-msp430fr2355

器件型号:MSP430FR2355

大家好、

IAM 正在尝试使用 MSP430FR2355 Launchpad 设计脉动式血氧计。 我成功使用 SAC 模块并从 SAC 获取 SPO2原始数据。 我还使用 ADC 读取 SAC 输出并转换为数字形式。 IAM 遵循 SLAA458和 SLAA897 TI 文档。 有人能告诉我下面显示的代码的含义是什么吗? 此代码从 SLAA458提取。  

/*跟踪心脏跳动*/
Heart _signal_sample_counter++;
IF (pos_edge)
{
如果(EDGE_去 抖< 120)
{
EDGE_去 抖++;
}
其他
{
如果(ir_heart _ac_signal <-200)
{
EDGE_去 抖= 0;
POS_EDGE = 0;
DISPLAY_PULSE (0);
}
}

其他
{
如果(EDGE_去 抖< 120)
{
EDGE_去 抖++;
}
其他
{
如果(ir_heart _ac_signal > 200)
{
EDGE_去 抖= 0;
POS_EDGE = 1;
DISPLAY_PULSE (1);
Display_Correcting (1、0);
如果(+Heart (+Heart)_Bear_counter >= 3)
{
LOG_Heart、signal_sample_counter = Heart、signal_sample_counter;
log_sq_ir_heart ac_signal = sq_ir_heart ac_signal;
log_sq_vs_Heart、ac_signal = sq_vs_Heart、ac_signal;
Heart _signal_sample_counter = 0;
SQL_IR_Heart;AC_SIGNAL = 0;
SQL_VS_Heart:AC_SIGNAL = 0;
Heart Bear_counter = 0;
_BIC_SR_IRQ (LPM0_Bits);
//大致执行虚拟唤醒
//每2秒
}
}

} 

 什么是 ebounce、pos edge 和  

IR_Heart _ac_signal >200或 
IR_Heart _ac_signal <-200? 


我的另一个问题是有关 MCU 的 UART。
是否有任何方法可以使用 printf 命令通过 UART 以换行结尾发送数据。 使用换行符和打印 f 很容易发送数据、因为我不必将数据分解为 MSB 和 LSB。

当前使用 IAM

while (!(UCA1IFG & UCTXIFG));
UCA1TXBUF = DATA;//数据的 LSB

我是说我一直在使用 Tiva C 系列 MCU、其中的 UART 通信非常易于使用。 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sumit、

    [引用 user="Sumit Mourya"]什么是 ebounce、pos 边缘的含义

    正极边沿查找脉冲的正极边沿。 EDGE_去 抖希望等待信号稳定。

    [引用用户="Sumit Mourya]ir_Heart _ac_signal >200

    这2行代码   

    IR_Heart 信号= IR_FILTER (I);
    //过滤掉大 DC
    传感器中的//组件*/
    IR_Heart _ac_signal = ir_Heart 信号- dc_estimator (&ir_2nd _dc_register、ir_Heart 信号);

    表示200是用于有效信号的高于信号电平。

    UART:适用于 MSP430的标准示例使用您已经使用的方法。  仅供参考、https://dev.ti.com/tirex/explore/node?node=APOB8PmsO4aurCVoXwMXYA__IOGqZri__LATEST 使用您正在执行的操作。

    Srinivas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Srinivas、

    很抱歉、我迟到了、我被困在项目中。 感谢您的回复。  

    正边线表示信号值大于0,是向上朝峰值还是向下朝槽方向?

    为什么200和-200用作有效信号的基准? 如果信号范围低于200、该怎么办? 由于直流电已移除、信号中没有运动伪影?

    即使我在信号中使用自己的0.7-5Hz 带通滤波器,如何确定信号范围是否有效?  

    我在 MCU 和 IAM 中使用了自己的0.7-5Hz 带通滤波器,获得干净的 SpO2信号。 信号范围介于150到-150 之间。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,  

    有人能不能用信号的图形表示帮助我理解代码部分。 固定编号 样本数表示(2秒数据)。

    在数据中、位置边沿被考虑在哪里? 边沿去抖被视为信号中的什么、以便使信号稳定?

    为什么200和-200值用于有效信号?

    通过查看图形波形了解这些内容将非常有帮助。