这个是树莓派的qt开始--01--数字输出和输入

查看40pin状态

	gpio readall

各种库齐全
各种库齐全

wiringPi库 官方连接

数字输出

  1. 工程.pro文件中加载wiringPi库
	LIBS += -lwiringPi
  1. mainwindow.cpp添加头文件
	#include <wiringPi.h>
  1. 启动wiring库
	wiringPiSetup();
  1. 设置io为输出
	pinMode(0,OUTPUT);
  1. 控制io状态
	digitalWrite(0,HIGH);
	digitalWrite(0,LOW);
电路

配合手上德飞莱LY-51s开发板来玩
配合手上德飞莱LY-51s开发板来玩
德飞莱是共阳LED组,负极IO,自带430欧排阻。
德飞莱这个排灯是正极电源,负极IO,带430欧排阻。
因为树莓派的io电压最高3.3v,所以电源连接gpio1 --3.3v。
io使用wpi-0

程序

不喜欢blink
不喜欢blink

简单程序开灯上边满格,关灯0;

源码
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

void init();    //定义初始化函数
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_openButton_clicked();

    void on_closeButton_clicked();

private:

    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <wiringPi.h>


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    init();            //在构造函数中初始化
}



MainWindow::~MainWindow()
{
    digitalWrite(0,1);//在析构函数里边关闭io
    delete ui;
}

void MainWindow::on_openButton_clicked()
{
    digitalWrite(0,0);
    ui->view->setValue(100);
}

void MainWindow::on_closeButton_clicked()
{
    digitalWrite(0,1);
    ui->view->setValue(0);
}
/*----------------------------------------------
 * 定义初始化函数
 * ---------------------------------------------*/
void init()
{
    wiringPiSetup();    //启动wiring库
    pinMode(0,OUTPUT);  //设置io
    digitalWrite(0,1);  //开关io
   // MainWindow::ui->view->setValue(0);

}

信号和槽
信号和槽

vs2017+visuaGDB交叉编译的实现见此贴
https://blog.csdn.net/bad520fuhao/article/details/83117657

数字输入

  1. 工程.pro文件中加载wiringPi库
	LIBS += -lwiringPi
  1. mainwindow.cpp添加头文件
	#include <wiringPi.h>
  1. 启动wiring库
	wiringPiSetup();
  1. 设置io为输入
	pinMode(0,INPUT);
  1. 控制io状态
	digitalRead(0);
电路

同输出一样加一个io使用wpi-1接到矩阵键盘
因为独立按键一端是接地怎么检测电平?
因为独立按键一端是接地怎么检测电平?
所以还是连到矩阵键盘上按一排都有响应
所以还是连到矩阵键盘上按一排都有响应

程序

这个不做窗口

mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>


void init();
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <wiringPi.h>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    init();
    while (1) {

        if(digitalRead(1)) digitalWrite(0,0);
        else     digitalWrite(0,1);
    }
}

MainWindow::~MainWindow()
{
    delete ui;
}
void init()
{
    wiringPiSetup();
    pinMode(0,OUTPUT);
    pinMode(1,INPUT);
    digitalWrite(0,1);

}

本人菜鸟,欢迎指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值