天嵌 ARM开发社区

 找回密码
 注册
查看: 3208|回复: 5

新手 弄毕业设计 问题相当难搞定!!

[复制链接]
牛头人 发表于 2012-3-27 11:39:01 | 显示全部楼层 |阅读模式
问题是这样子的!!下面我贴上代码 求高手帮忙下 !!
ledtest.h
            
#ifndef LEDTEST_H
#define LEDTEST_H
#include <QMainWindow>
namespace Ui {
    class ledtest;
}
class ledtest : public QMainWindow {
    Q_OBJECT
public:
    ledtest(QWidget *parent = 0);
    ~ledtest();
public slots:
    void LED1_Toggle();
    void LED2_Toggle();
void LED3_Toggle();
    void LED4_Toggle();
protected:
    void changeEvent(QEvent *e);
private:
    Ui::ledtest *ui;
};
#endif // LEDTEST_H
ledtest.c                                                                                                                                                             #include "ledtest.h"
#include "ui_ledtest.h"

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<string.h>
#include <sys/ioctl.h>
#include<stdio.h>

#include<QDirectPainter>

static int fb;
static int LED1=0, LED2=0,LED3=0,LED4=0;


ledtest::ledtest(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::ledtest)
{
    ui->setupUi(this);
    int screenWidth=QDirectPainter::screenWidth();
    int screenHeight=QDirectPainter::screenHeight();
    this->resize(screenWidth,screenHeight);
    connect(ui->checkBox_LED1,SIGNAL(toggled(bool)),this,SLOT(LED1_Toggle()));
    connect(ui->checkBox_LED2,SIGNAL(toggled(bool)),this,SLOT(LED2_Toggle()));
    connect(ui->checkBox_LED3,SIGNAL(toggled(bool)),this,SLOT(LED3_Toggle()));
    connect(ui->checkBox_LED4,SIGNAL(toggled(bool)),this,SLOT(LED4_Toggle()));

    system("/etc/rc.d/init.d/leds stop");
    fb=open("/dev/EmbedSky-leds",O_RDWR);
    if(fb<0)
    {
       perror("open device leds fail");
       exit(1);
    }
    for (int i = 0 ; i < 4; i ++)
    {
          ioctl(fb, 0, i);
    }


}

ledtest::~ledtest()
{
    delete ui;
}

void ledtest::changeEvent(QEvent *e)
{
    QMainWindow::changeEvent(e);
    switch (e->type()) {
    case QEvent:: LanguageChange:
        ui->retranslateUi(this);
        break;
    default:
        break;
    }
}

void ledtest:: LED1_Toggle()
{
  LED1=~LED1;
    if(LED1==1)
  {
     ioctl(fb,1,0);
  }
  else
  {
     ioctl(fb,0,0);
  }
}
void ledtest:: LED2_Toggle()
{
  LED2=~LED2;
  if(LED2==1)
  {
     ioctl(fb,1,1);
  }
  else
  {
     ioctl(fb,0,1);
  }
}
void ledtest:: LED3_Toggle()
{
  LED3=~LED3;
  if(LED3==1)
  {
     ioctl(fb,1,2);
  }
  else
  {
     ioctl(fb,0,2);
  }
}
void ledtest:: LED4_Toggle()
{
  LED4=~LED4;
   if(LED4==1)
  {
     ioctl(fb,1,3);
  }
  else
  {
     ioctl(fb,0,3);
  }
}



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
wuweidong 发表于 2012-3-27 12:24:44 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 牛头人 发表于 2012-3-27 12:34:59 | 显示全部楼层
wuweidong 发表于 2012-3-27 12:24
int screenWidth=QDirectPainter::screenWidth();
   int screenHeight=QDirectPainter::screenHeight( ...

ledtest.h
            

#ifndef LEDTEST_H

#define LEDTEST_H

#include <QMainWindow>


namespace Ui {

    class ledtest;

}


class ledtest : public QMainWindow {

    Q_OBJECT

public:

    ledtest(QWidget *parent = 0);

    ~ledtest();

public slots:

    void LED1_Toggle();

    void LED2_Toggle();

void LED3_Toggle();

    void LED4_Toggle();

protected:

    void changeEvent(QEvent *e);


private:

    Ui::ledtest *ui;

};

#endif // LEDTEST_H

这个是头文件 初学者 都不懂呢 要怎么操作 老大 求教呢~~
TQ-lkp 发表于 2012-3-27 13:49:16 | 显示全部楼层
这个,如果没有C++的基础,还是有点麻烦
 楼主| 牛头人 发表于 2012-3-27 14:25:02 | 显示全部楼层
TQ-lkp 发表于 2012-3-27 13:49
这个,如果没有C++的基础,还是有点麻烦

嗯~~没什么基础呢 代码有些小问题就得找高人解决了
wuweidong 发表于 2012-3-27 19:31:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-9-28 09:32 , Processed in 1.029231 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表