QT软件开发-多窗口—定时器与直流电机控制
2017-06-15 17:46
549 查看
源码下载地址:http://download.csdn.net/detail/sailor_luo/9866168
定时器:
多窗口—定时器与直流电机控制
#include "dialog1.h"
#include "ui_dialog1.h"
#include <QTimer>
#include <QtCore>
#include<dialog1.h>
Dialog1::Dialog1(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog1)
{
ui->setupUi(this);
QTimer *timer =new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(timerupdate()));
timer->start(1000);
}
Dialog1::~Dialog1()
{
delete ui;
}
void Dialog1::timerupdate()
{
QDateTime time=QDateTime::currentDateTime();
QString str =time.toString("yyyy-MM-dd hh:mm:ss dddd");
ui->label->setText(str);
}
驱动电机;
#include "dialog2.h"
#include "ui_dialog2.h"
#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <sys/ioctl.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/ioctl.h>
#include <pthread.h>
#include <fcntl.h>
#include <fcntl.h>
#include <string.h>
#include <sys/ioctl.h>
#include <QtGui/QApplication>
#define DCM_IOCTRL_SETPWM (0x10)
#define DCM_TCNTB0 (16384)
int flag=1;
static int dcm_fd = -1;
char *DCM_DEV="/dev/s3c2440-dc-motor0";
Dialog2::Dialog2(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog2)
{
ui->setupUi(this);
}
Dialog2::~Dialog2()
{
delete ui;
}
void Delay(int t)
{
int i;
for(;t>0;t--)
for(i=0;i<400;i++);
}
void Dialog2::on_pushButton_clicked()
{
int setpwm = 512;
int factor = DCM_TCNTB0/1024;
if((dcm_fd=::open(DCM_DEV, O_WRONLY))<0){
printf("Error opening %s device\n", DCM_DEV);
}
if(flag==0)
{
::ioctl(dcm_fd, DCM_IOCTRL_SETPWM, (1000 * factor));
ui->pushButton->setText("close");
}
else if(flag==1)
{
::close(dcm_fd);
ui->pushButton->setText("open");
}
printf("setpwm = %d \n", setpwm);
}
定时器:
多窗口—定时器与直流电机控制
#include "dialog1.h"
#include "ui_dialog1.h"
#include <QTimer>
#include <QtCore>
#include<dialog1.h>
Dialog1::Dialog1(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog1)
{
ui->setupUi(this);
QTimer *timer =new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(timerupdate()));
timer->start(1000);
}
Dialog1::~Dialog1()
{
delete ui;
}
void Dialog1::timerupdate()
{
QDateTime time=QDateTime::currentDateTime();
QString str =time.toString("yyyy-MM-dd hh:mm:ss dddd");
ui->label->setText(str);
}
驱动电机;
#include "dialog2.h"
#include "ui_dialog2.h"
#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <sys/ioctl.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/ioctl.h>
#include <pthread.h>
#include <fcntl.h>
#include <fcntl.h>
#include <string.h>
#include <sys/ioctl.h>
#include <QtGui/QApplication>
#define DCM_IOCTRL_SETPWM (0x10)
#define DCM_TCNTB0 (16384)
int flag=1;
static int dcm_fd = -1;
char *DCM_DEV="/dev/s3c2440-dc-motor0";
Dialog2::Dialog2(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog2)
{
ui->setupUi(this);
}
Dialog2::~Dialog2()
{
delete ui;
}
void Delay(int t)
{
int i;
for(;t>0;t--)
for(i=0;i<400;i++);
}
void Dialog2::on_pushButton_clicked()
{
int setpwm = 512;
int factor = DCM_TCNTB0/1024;
if((dcm_fd=::open(DCM_DEV, O_WRONLY))<0){
printf("Error opening %s device\n", DCM_DEV);
}
if(flag==0)
{
::ioctl(dcm_fd, DCM_IOCTRL_SETPWM, (1000 * factor));
ui->pushButton->setText("close");
}
else if(flag==1)
{
::close(dcm_fd);
ui->pushButton->setText("open");
}
printf("setpwm = %d \n", setpwm);
}
相关文章推荐
- Qt软件开发文档15---聊天窗口的实现(2),QTextEdit+QPainter实现聊天框自适应大小
- 嵌入式软件开发QT-02-简单调试、信号与槽机制、窗口切换、模态与非模态窗口
- Qt软件开发文档14---聊天窗口的实现,对QlistWidget点击item项隐藏虚线框的实现
- Qt软件开发文档17---自定义messagebox窗口
- Qt软件开发文档15---聊天窗口的实现(2),QTextEdit+QPainter实现聊天框自适应大小
- 项目开发管理技术之项目版本控制、软件建模、软件测试、项目文档管理
- 项目开发管理技术之项目版本控制、软件建模、软件测试、项目文档管理及进度管理
- 软件开发项目进度控制浅谈[转]
- 以测试为核心控制软件开发过程
- 软件开发项目进度控制浅谈
- Qt的LGPL协议是否意味着可以自由用QT开发商业软件?
- 软件开发中的版本控制问题
- 软件开发的管理和控制
- 软件开发项目进度控制浅谈
- 项目开发管理技术之项目版本控制、软件建模、软件测试、项目文档管理(转)
- 做一个运动控制软件开发人员需要具备的条件!
- 使用网页应用程序(HTA)开发简单串口控制软件
- 软件开发项目进度控制浅谈
- 奇趣科技发布跨平台开发软件Qt 4.1新版本
- 软件开发的管理和控制