When i run this code it's not real time on second, but in loop while complete 5 sec will show the last result. I have no idea to modify code, Thanks
#include "dialog.h"
#include "ui_dialog.h"
#include "mcp3008Spi.h"
#include <QtCore/QString>
#include <QtGui>
#include <QtCore/QFile>
#include <QtCore/QDebug>
#include <QtCore/QTextStream>
#include <QLineEdit>
#include <QWidget>
#include <QPainter>
ui(new Ui::Dialog)
{
ui->setupUi(this);
//connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(paintEvent(QPaintEvent *e)));
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_pushButton_clicked()
{
mcp3008Spi a2d("/dev/spidev0.0", SPI_MODE_0, 1000000, 8);
int a2dChannel = 0;
unsigned char data[3];
//int a2dplot[] = {};
i = 0;
while(i < 5)
{
data[0] = 1; // first byte transmitted -> start bit
data[1] = 0b10000000 |( ((a2dChannel & 7) << 4)); // second byte transmitted -> (SGL/DIF = 1, D2=D1=D0=0)
data[2] = 0; // third byte transmitted....don't care
a2d.spiWriteRead(data, sizeof(data) );
a2dVal = 0;
a2dVal = (data[1]<< 8) & 0b1100000000; //merge data[1] & data[2] to get result
a2dVal |= (data[2] & 0xff);
a2dplot[i] = a2dVal;
ui -> lcdNumber -> display(a2dplot[i]);
sleep(1);
i++ ;
update();
}
}
#include "dialog.h"
#include "ui_dialog.h"
#include "mcp3008Spi.h"
#include <QtCore/QString>
#include <QtGui>
#include <QtCore/QFile>
#include <QtCore/QDebug>
#include <QtCore/QTextStream>
#include <QLineEdit>
#include <QWidget>
#include <QPainter>
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
//connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(paintEvent(QPaintEvent *e)));
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_pushButton_clicked()
{
mcp3008Spi a2d("/dev/spidev0.0", SPI_MODE_0, 1000000, 8);
int a2dChannel = 0;
unsigned char data[3];
//int a2dplot[] = {};
i = 0;
while(i < 5)
{
data[0] = 1; // first byte transmitted -> start bit
data[1] = 0b10000000 |( ((a2dChannel & 7) << 4)); // second byte transmitted -> (SGL/DIF = 1, D2=D1=D0=0)
data[2] = 0; // third byte transmitted....don't care
a2d.spiWriteRead(data, sizeof(data) );
a2dVal = 0;
a2dVal = (data[1]<< 8) & 0b1100000000; //merge data[1] & data[2] to get result
a2dVal |= (data[2] & 0xff);
a2dplot[i] = a2dVal;
ui -> lcdNumber -> display(a2dplot[i]);
sleep(1);
i++ ;
update();
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks