Baldwin 发表于 2016-4-26 13:43:27

I.Max283开发板通过Qt实现Led的开关

首先说明我是Linux、Qt的小白,示例中可能会存在不严谨的地方,欢迎大家给我指出。当初在学习linux的时候,想实现led的开关,在网上找了看了几天都没有找到一个完整的例子,只能自己慢慢摸索,过程非常痛苦,很庆幸期间得到了很多好心人的帮助,所以写一个例程,希望对后人有所帮助。一、硬件
    1、操作的是283APDemo板子上的LED1,对应得GPIO是GPIO-P3.26
二、软件
    1、Qt用的是Zlg官方的Qt4.7.3

以下是代码:
------------------MainWindow.cpp-------------------------
#define DefaultLedName "/dev/gpio-P3.26"//可以根据硬件进行修改
void MainWindow::show(void)
{
    qint64 result;

    LedInit();
    result = LedWrite(LED_ON);
    qDebug() << result;
    ledFile->close();
}

bool MainWindow::LedInit(void)
{

    ledFile = new QFile(DefaultLedName);
    if(!ledFile->open(QIODevice::ReadWrite|QFile::Truncate))
    {
      qDebug() << "open led file error";
      return false;
    }
    else
    {
      qDebug() << "open led file sucess";
      return true;
    }
}

qint64MainWindow::LedWrite(char cmd)
{
    char wcmd = cmd;
    qDebug() << wcmd;

    return (ledFile->write(&wcmd),1);
}

------------------MainWindow.h-------------------------

#include <QObject>
#include <QDebug>
#include <QTimer>
#include <QFile>


class MainWindow : public QObject
{
    Q_OBJECT

    enum LedCmd
    {
      LED_ON = '0',
      LED_OFF = '1',
    };

public:
    explicit MainWindow(QObject *parent = 0);
    ~MainWindow();
    void show(void);
    bool LedInit(void);
    qint64 LedWrite(char cmd);

private:
      QFile* ledFile;
signals:

public slots:

};


1328616904 发表于 2016-4-26 14:03:02

想问下LZ,有没有IMX283的裸奔例程啊

Baldwin 发表于 2016-4-26 14:41:15

1328616904 发表于 2016-4-26 14:03
想问下LZ,有没有IMX283的裸奔例程啊

没有呢,学习linux

1328616904 发表于 2016-4-26 14:44:48

Baldwin 发表于 2016-4-26 14:41
没有呢,学习linux

哎 我就想和2440似的 跑跑裸机再上操作系统

fengyunyu 发表于 2016-4-26 15:37:43

LZ用的什么开发工具?

w282529350 发表于 2016-4-26 17:17:34

对于linux 一直观望中{:sad:}

Baldwin 发表于 2016-4-26 22:42:39

fengyunyu 发表于 2016-4-26 15:37
LZ用的什么开发工具?

Qtcreaor+Qt4.7.3

Baldwin 发表于 2016-4-26 22:43:12

w282529350 发表于 2016-4-26 17:17
对于linux 一直观望中

我也刚学不久,痛苦中

竹叶听筝 发表于 2016-4-27 00:00:58

我也刚学IMX283的板子也在看Qt,我现在比较迷茫的是我一直看QT的话那不是一直要搞C++了,基本跟linux底层无关了?

Baldwin 发表于 2016-4-27 08:44:38

竹叶听筝 发表于 2016-4-27 00:00
我也刚学IMX283的板子也在看Qt,我现在比较迷茫的是我一直看QT的话那不是一直要搞C++了,基本跟linux底层无 ...

Qt就是c++啊,我个人觉得linux底层会被大公司做的越来越完善,一般人都是做应用了{:tongue:}

louwenyan 发表于 2016-4-27 09:42:38

我一直在找一个QT点LED的程序,感谢楼主的贡献!

Baldwin 发表于 2016-4-27 16:11:34

louwenyan 发表于 2016-4-27 09:42
我一直在找一个QT点LED的程序,感谢楼主的贡献!

以前自己学的时候因为没得参考别提多痛苦了{:cry:}
页: [1]
查看完整版本: I.Max283开发板通过Qt实现Led的开关