树莓派中QT实现PWM

树莓派中QT实现PWM

在QT中实现 PWM 使用的驱动为 wiringPi

之前的博客中已经介绍了 wiringPi , BOARD 管脚, BCM 之间的关系

这次, 就介绍在 wiringPi 中的PWM如何使用

库的引入

LIBS += -lwiringPi
LIBS += -lwiringPiDev

UI 展示

效果展示

PWM低时

PWM高时

代码实现

widget.h

定义UI中两个控件对应的槽函数

#include <QWidget>
#include <QDebug>
#include "wiringPi.h"
#include "softPwm.h"

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

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

private slots:
    void on_pushButton_clicked();
    void on_horizontalSlider_valueChanged(int value);

private:
    Ui::Widget *ui;
    int count = 0;
    int pwm = 0;
};

widget.cpp

在槽函数中具体对PWM进行实现

#include "widget.h"
#include "ui_widget.h"

#define PWMrange 100

Widget::Widget(QWidget *parent) : QWidget(parent),
    ui(new Ui::Widget){
    ui->setupUi(this);

    wiringPiSetup();
    pinMode(25,OUTPUT);
    softPwmCreate(25,0,PWMrange);
}

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

void Widget::on_pushButton_clicked(){
    count ++;
    if(count % 2 == 1){
        softPwmWrite(25,pwm);
        qDebug() << "1";
    }else{
        softPwmWrite(25,0);
        qDebug() << "0";
    }
}

void Widget::on_horizontalSlider_valueChanged(int value){
    pwm = value;
    if(count % 2 == 0){
        softPwmWrite(25,0);
        return;
    }else {
        softPwmWrite(25,pwm);
    }
}

原文地址:https://www.cnblogs.com/wangha/p/10559379.html

时间: 2024-11-08 22:56:15

树莓派中QT实现PWM的相关文章

gtk桌面环境(gnome,xfce等)中qt程序(vlc,firefox等)字体与系统字体不符的问题

原本只安装了infinality的基本字体包,一切正常,除了看视频时“跳过广告”以及豆瓣fm的歌曲名等中文显示不正常 猜想是缺少字体,于是装了infinality的extended字体包,结果问题虽然解决了,firefox标题栏字体却变丑了,明显不是设置好的系统字体. 设置qtconfig-qt4,修改trolltech.conf均无效 对比了下应该是noto字体(来自extended),于是卸掉extended字体包,标题栏显示正常,又装了wqy microhei,所有问题搞定 gtk桌面环境

Linux树莓派中/etc/rc.local不执行的问题

最近研究在树莓派中嵌入式开发java程序,并打算和Salesforce进行通信.需要开发一个java的web server,不想弄那么复杂,于是打算在linux系统中/etc/rc.local写想要执行的语句,比如java –jar /root/test.jar.但是在开机的时候,发现/etc/rc.local里面的命令并没有执行,这是个头疼的事情.第一次我考虑到的是,可能在里面的某些语句,比如service isc-dhcp-server start.这类开启服务的语句,如果dhcp服务在ho

写一下自己一个星期玩树莓派的经验,如何安装系统,如何在树莓派中安装opencv,如何运行代码。

在树莓派上安装opencv最简单的方法是: sudo apt-get update sudo apt-get install libopencv-dev sudo apt-get install python-opencv 如果你还想了解更多,下面提供的那么多链接中你一定找到方法的,饭都送到你面前你不会吃,那么你活该饿着. 平时自己习惯用vim 所以在树莓派上安装了vim编辑器 安装命令  sudo apt-get  install  vim 就可以了. 好了,可以运行一个opencv的例子来检

中颖SH79F1616 PWM初始化程序

//========pwm.h============================================= #ifndef _PWM_H_ #define _PWM_H_ #define EPWM0 (1<<0) //PWM0 输出允许 #define EPWM01 (1<<3) //PWM01 输出允许 //-----pwm 时钟分频---------- #define PWM_DIV PWM_DIV8 #define PWM_DIV2 0 #define PWM_

树莓派中编译OpenCV3.4.1和OpenCvSharp

一.简介 本文重点描述在树莓派中编译OpenCV3.4.1和OpenCvSharp,大家都知道OpenCVSharp是使用C#调用OpenCV最简洁的一个库.但是在Linux上或者树莓派上运行时,需要编译对应的Linux和CPU架构的版本. 二.编译过程 #树莓派3b安装OPENCV3.4.1 apt-get install -y build-essential cmake libgtkglext1-dev libvtk6-dev zlib1g-dev libjpeg-dev libwebp-d

树莓派中安装QT

本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 硬件:树莓派 步骤: 参考链接:http://qt-project.org/wiki/apt-get_Qt4_on_the_Raspberry_Pi Firstly I got the development tools needed by Qt Creator in the hope it would be less heavy for the Pi to download

Linux中Qt的安装

1.下载Ot安装包 Qt5.30的下载地址如下,在网页中打开找到需要的资源,下载.run格式的安装软件. http://download.qt.io/archive/qt/5.3/5.3.0/qt-opensource-linux-x64-5.3.0.run.mirrorlist 2.安装Qt 如果是使用浏览器下载的话一般是存放在"下载"文件夹中,在文件夹中找到刚刚下载的安装文件,这个时候直接双击.run文件是不能安装的,因为权限不够.在命令行输入chmod +x /Qt安装包的绝对路

VS中Qt的探索02

边看C++ GUI QT4教程,边在VS2010中进行编程学习探索. 在使用Qt设计师时,其中每一个对象的ObjectName属性是非常重要的,在程序功能的实现过程中,需要不断的使用该变量名. 当所有的对象属性设置完之后,在VS2010中右击*.ui文件,选择编译(ctrl+F7),便会自动生成另一个.h文件,里面的某一个类包含了对象的所有属性情况,如下图所示: 并且在VS自动生成的*.h文件中,会有一个该类的变量名用来访问你在Qt设计师中更改的每个对象的属性值,从而我们可以在实现某项功能时进行

Ubuntu中Qt的安装

去官网下载qt-opensource-linux-x64-5.7.0.run,到"下载"目录 Ctrl+Alt+T打开终端 cd /home/jv/下载sudo mv qt-opensource-linux-x64-5.7.0.run /optcd /opt   个人习惯把软件安装到opt文件夹中sudo chmod +x qt-opensource-linux-x64-5.7.0.runsudo ./qt-opensource-linux-x64-5.7.0.run 弹出熟悉的GUI