这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 开源硬件 » SIN210学习笔记__QT 操作 LED

共4条 1/1 1 跳转至

SIN210学习笔记__QT 操作 LED

助工
2015-02-01 20:24:17     打赏

首先新建一个Qt工程文件(可参考前几篇帖子)。

首先新建一个led.c和led.h文件,添加到工程中去。



//led.h文件
#ifndef LED_H
#define LED_H
#ifdef __cplusplus
extern "C" {
#endif
extern int led_open(const char *devname);
extern int led_ioctl(const int no,const int sw);
extern int led_close(void);
extern int led_fd;
#ifdef __cplusplus
}
#endif
#endif // LED_H

 


//led.c文件
#include "led.h"
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>

#define IOCTL_LED_ON    0
#define IOCTL_LED_OFF   1

int led_fd=0;
int led_open(const char*devname){
 led_fd=open(devname,O_RDWR);
 printf("LED driver is ok\n");
 if(led_fd<0){
  printf("open device %s failed.\n",devname);
  return -1;
 }
 return 0;
}
int led_ioctl(const int no,const int sw){
 //led_fd=open("/dev/led",O_RDWR);
 int num=no;
 ioctl(led_fd,sw,num);
 printf("LED%dis open\n",num);
 return 0;
}
int led_close(void){
 if(led_fd)
  close(led_fd);
}

 


添加一个pushbutton,如下图所示:


将鼠标放在pushbutton上面,点击右键,选择转到槽( goto slot。。。)。选择pressed()和 release()按键函数。

修改mainwindow.cpp代码如下:


#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "led.h"

#define LED1    0
#define LED2    1
#define LED3    2
#define LED4    3

#define LED_ON  0
#define LED_OFF 1

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    led_open("/dev/led");
    printf("C++ /dev/led\n");
}

MainWindow::~MainWindow()
{
    delete ui;
    led_close();
}

void MainWindow::on_pushButton_pressed()
{
    led_ioctl(LED1,LED_ON);
}

void MainWindow::on_pushButton_released()
{
    led_ioctl(LED1,LED_OFF);
}

 


发布运行。。。


点击pushbutton之后,LED1点亮。松开pushbutton之后LED1熄灭。


好吧,今天为止Qt也配置出来了,Qt调用驱动也完成了,剩下的就是搬转了,2月份就到此为止了,这个月由于要过年了,就不做程序猿,不做攻城狮。。。开学继续。。。。

珍爱生命,远离编程。。。


最后,非常感谢sinlinx公司提供的SIN210开发板




关键词: sin210学习笔记    

助工
2015-02-02 09:27:22     打赏
2楼

珍爱生命


专家
2015-02-02 23:00:58     打赏
3楼

楼主节奏很快。

帮忙解答下这个问题

http://forum.eepw.com.cn/thread/268358/1


助工
2015-02-02 23:57:50     打赏
4楼
已解答

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]