搜索
bottom↓
回复: 11

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

[复制链接]

出0入0汤圆

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

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

  5.     LedInit();
  6.     result = LedWrite(LED_ON);
  7.     qDebug() << result;
  8.     ledFile->close();
  9. }

  10. bool MainWindow::LedInit(void)
  11. {

  12.     ledFile = new QFile(DefaultLedName);
  13.     if(!ledFile->open(QIODevice::ReadWrite|QFile::Truncate))
  14.     {
  15.         qDebug() << "open led file error";
  16.         return false;
  17.     }
  18.     else
  19.     {
  20.         qDebug() << "open led file sucess";
  21.         return true;
  22.     }
  23. }

  24. qint64  MainWindow::LedWrite(char cmd)
  25. {
  26.     char wcmd = cmd;
  27.     qDebug() << wcmd;

  28.     return (ledFile->write(&wcmd),1);
  29. }
复制代码


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

  1. #include <QObject>
  2. #include <QDebug>
  3. #include <QTimer>
  4. #include <QFile>


  5. class MainWindow : public QObject
  6. {
  7.     Q_OBJECT

  8.     enum LedCmd
  9.     {
  10.         LED_ON = '0',
  11.         LED_OFF = '1',
  12.     };

  13. public:
  14.     explicit MainWindow(QObject *parent = 0);
  15.     ~MainWindow();
  16.     void show(void);
  17.     bool LedInit(void);
  18.     qint64 LedWrite(char cmd);

  19. private:
  20.         QFile* ledFile;
  21. signals:

  22. public slots:

  23. };
复制代码



本帖子中包含更多资源

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

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2016-4-26 14:03:02 | 显示全部楼层
想问下LZ,有没有IMX283的裸奔例程啊

出0入0汤圆

 楼主| 发表于 2016-4-26 14:41:15 | 显示全部楼层
1328616904 发表于 2016-4-26 14:03
想问下LZ,有没有IMX283的裸奔例程啊

没有呢,学习linux

出0入0汤圆

发表于 2016-4-26 14:44:48 | 显示全部楼层
Baldwin 发表于 2016-4-26 14:41
没有呢,学习linux

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

出100入101汤圆

发表于 2016-4-26 15:37:43 | 显示全部楼层
LZ用的什么开发工具?

出0入0汤圆

发表于 2016-4-26 17:17:34 | 显示全部楼层
对于linux 一直观望中

出0入0汤圆

 楼主| 发表于 2016-4-26 22:42:39 | 显示全部楼层
fengyunyu 发表于 2016-4-26 15:37
LZ用的什么开发工具?

Qtcreaor+Qt4.7.3

出0入0汤圆

 楼主| 发表于 2016-4-26 22:43:12 | 显示全部楼层
w282529350 发表于 2016-4-26 17:17
对于linux 一直观望中

我也刚学不久,痛苦中

出0入10汤圆

发表于 2016-4-27 00:00:58 | 显示全部楼层
我也刚学IMX283的板子也在看Qt,我现在比较迷茫的是我一直看QT的话那不是一直要搞C++了,基本跟linux底层无关了?

出0入0汤圆

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

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

出0入0汤圆

发表于 2016-4-27 09:42:38 | 显示全部楼层
我一直在找一个QT点LED的程序,感谢楼主的贡献!

出0入0汤圆

 楼主| 发表于 2016-4-27 16:11:34 | 显示全部楼层
louwenyan 发表于 2016-4-27 09:42
我一直在找一个QT点LED的程序,感谢楼主的贡献!

以前自己学的时候因为没得参考别提多痛苦了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 23:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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