查看: 242|回复: 6

连接ADS1292模拟前端芯片,使用SPI库,导致串口不输出数据

[复制链接]

9

主题

16

帖子

65

积分

注册会员

Rank: 2

积分
65
发表于 2021-9-25 17:05:28 | 显示全部楼层 |阅读模式

连接ADS1292模拟前端芯片,使用SPI库,导致串口不输出数据

QSJSBEZF83I8C907%$9.png

回复

使用道具 举报

27

主题

70

帖子

981

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
981
发表于 2021-9-25 17:16:20 | 显示全部楼层
你可以直接复制代码放代码上来的,目前loop里的代码都没显示出来,另外这个是针对哪个芯片平台进行开发的,也在问题描述里注明下
回复

使用道具 举报

9

主题

16

帖子

65

积分

注册会员

Rank: 2

积分
65
 楼主| 发表于 2021-9-25 18:10:23 | 显示全部楼层

[quote][size=2][color=#999999]文涛 发表于 2021-9-25 17:16[/color][/size] 你可以直接复制代码放代码上来的,目前loop里的代码都没显示出来,另外这个是针对哪个芯片平台进行开发的, ...[/quote]

#include <arduino.h>
#include "protocentralAds1292r.h"
#include "ecgRespirationAlgo.h"
#include <SPI.h>

volatile uint8_t globalHeartRate;
volatile uint8_t globalRespirationRate=0;

const int ADS1292_DRDY_PIN = 26;
const int ADS1292_CS_PIN = 13;
const int ADS1292_START_PIN = 14;
const int ADS1292_PWDN_PIN = 27;

int16_t ecgWaveBuff, ecgFilterout;
int16_t resWaveBuff,respFilterout;

long timeElapsed=0;

ads1292r ADS1292R;
ecg_respiration_algorithm ECG_RESPIRATION_ALGORITHM;

void setup()
{
delay(2000);

SPI.begin();
SPI.setBitOrder(MSBFIRST);
//CPOL = 0, CPHA = 1
SPI.setDataMode(SPI_MODE1);
// Selecting 1Mhz clock for SPI
SPI.setClockDivider(SPI_CLOCK_DIV16);

pinMode(ADS1292_DRDY_PIN, INPUT);
pinMode(ADS1292_CS_PIN, OUTPUT);
pinMode(ADS1292_START_PIN, OUTPUT);
pinMode(ADS1292_PWDN_PIN, OUTPUT);
Serial.begin(9600);

ADS1292R.ads1292Init(ADS1292_CS_PIN,ADS1292_PWDN_PIN,ADS1292_START_PIN);  //initalize ADS1292 slave
Serial.println("Initiliziation is done");
}

void loop()
{
ads1292OutputValues ecgRespirationValues;
boolean ret = ADS1292R.getAds1292EcgAndRespirationSamples(ADS1292_DRDY_PIN,ADS1292_CS_PIN,&ecgRespirationValues);

if (ret == true)
{
ecgWaveBuff = (int16_t)(ecgRespirationValues.sDaqVals[1] >> 8) ;  // ignore the lower 8 bits out of 24bits
resWaveBuff = (int16_t)(ecgRespirationValues.sresultTempResp>>8) ;

if(ecgRespirationValues.leadoffDetected == false)
{
ECG_RESPIRATION_ALGORITHM.ECG_ProcessCurrSample(&ecgWaveBuff, &ecgFilterout);   // filter out the line noise @40Hz cutoff 161 order
ECG_RESPIRATION_ALGORITHM.QRS_Algorithm_Interface(ecgFilterout,&globalHeartRate);// calculate

//disable below 2 lines if you want to run with arduino uno. (arduino uno does not have the memory to do all processing together)
respFilterout = ECG_RESPIRATION_ALGORITHM.Resp_ProcessCurrSample(resWaveBuff);
ECG_RESPIRATION_ALGORITHM.RESP_Algorithm_Interface(respFilterout,&globalRespirationRate);

}else{

ecgFilterout = 0;
respFilterout = 0;
}

if(millis() > timeElapsed)  // update every one second
{
if(ecgRespirationValues.leadoffDetected == true) // lead in not connected
{
Serial.println("ECG lead error!!! ensure the leads are properly connected");
}else{

Serial.print("Heart rate: ");
Serial.print(globalHeartRate);
Serial.println("BPM");
Serial.print("Respiration Rate :");
Serial.println(globalRespirationRate);
}
timeElapsed += 1000;
}
}
}
回复

使用道具 举报

27

主题

70

帖子

981

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
981
发表于 2021-9-25 18:22:02 | 显示全部楼层

下次请使用markdown的代码块放代码,不然格式很乱简直没法看
回复

使用道具 举报

9

主题

16

帖子

65

积分

注册会员

Rank: 2

积分
65
 楼主| 发表于 2021-9-26 14:53:05 | 显示全部楼层
文涛 发表于 2021-9-25 18:22
下次请使用markdown的代码块放代码,不然格式很乱简直没法看

下次注意,请问这是什么原因导致串口输不出数据呢
回复

使用道具 举报

27

主题

70

帖子

981

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
981
发表于 2021-9-29 21:55:05 | 显示全部楼层
biubiu 发表于 2021-9-26 14:53
下次注意,请问这是什么原因导致串口输不出数据呢

没ADS1292这个东东,没法测试,确定这个可以用以及能运行至你写的那个串口输出的程序里?
回复

使用道具 举报

27

主题

70

帖子

981

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
981
发表于 2021-9-29 21:55:07 | 显示全部楼层
biubiu 发表于 2021-9-26 14:53
下次注意,请问这是什么原因导致串口输不出数据呢

没ADS1292这个东东,没法测试,确定这个可以用以及能运行至你写的那个串口输出的程序里?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

连接ADS1292模拟前端芯片,使用SPI库,导致串口不输出数据
连接ADS1292模拟前端芯片
[md]连接ADS1292模拟前端芯片,使用SPI库,导致串口不输出数据 ![QSJSBEZF83I8C907%$
宏定义为什么会报错
宏定义为什么会报错
[md]!(data/attachment/forum/202109/25/173426ma339t23hx9uqq2t.png?imageMogr2/auto
怎样找到这个库Adafruit_I2CDevice
怎样找到这个库Adafruit_I
[md].piolibdepsnucleo_g474reAdafruit GFX LibraryAdafruit_GrayOLED.h:30:10: f
Stduino Nano&Uno模拟量值读取之电位器(12位精确度)
Stduino Nano&Uno模拟量值
通过Stduino IDE编辑几行代码便实现电位器模拟量读取,并通过串口每隔1秒输出一次,并
今天在文涛老大的帮助下我的stm32zet6终于把simlpefoc库跑起...
今天在文涛老大的帮助下我
[md]首先本身是刚刚从MDK转到arduino过来的新人,只因为要完开源的simplefoc,期间由
Stduino UNO mini与7线oled显示屏实现Message Box
Stduino UNO mini与7线ole
[md]手头上有块7线的Oled显示屏一直想用stm32驱动下,正好现在通过Stduino UNO mini和
DS1302时钟库分享
DS1302时钟库分享
大家好,最近发现IDE自身的库没有DS1302,因此依据网上的资料写了DS1302的库。这里将
©2001-2018  Stduino官网  Powered by©Discuz!   ( 皖ICP备17011998号 )
快速回复 返回顶部 返回列表