树莓派中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);
}
}
树莓派中QT实现PWM的更多相关文章
- 树莓派中QT实现I2C
树莓派中QT实现I2C 在QT中实现 I2C 使用的驱动为 wiringPi 库的引入 LIBS += -lwiringPi LIBS += -lwiringPiDev 代码实现 widget.h 中 ...
- 树莓派中QT实现串口通讯
树莓派中QT实现串口通讯 开发平台为QT 此博客QT使用的为WiringPi驱动 我使用的串口调试助手为 cutecom 先简单说一些开发过程中需要注意的问题 Linux 下设备为 tty ,对应在 ...
- 树莓派中安装QT
树莓派中安装QT 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 硬件:树莓派 步骤: 参考链接:http://qt-proje ...
- 张高兴的 Windows 10 IoT 开发笔记:使用 Lightning 中的软件 PWM 驱动 RGB LED
感觉又帮 Windows 10 IoT 开荒了,所以呢,正儿八经的写篇博客吧.其实大概半年前就想写的,那时候想做个基于 Windows 10 IoT 的小车,但树莓派原生不支持 PWM 啊.百度也搜不 ...
- 树莓派中编译Opencv3.4.1和OpenCVSharp库
一.简介 本文主要讲在树莓派中编译Opencv3.4.1和OpenCVSharp库,方便C#开发人员可以通过Mono或者Netcore运行C#通过OpenCVSharp写的OpenCV库. 二.过程 ...
- 树莓派中编译OpenCV3.4.1和OpenCvSharp
一.简介 本文重点描述在树莓派中编译OpenCV3.4.1和OpenCvSharp,大家都知道OpenCVSharp是使用C#调用OpenCV最简洁的一个库.但是在Linux上或者树莓派上运行时,需要 ...
- Linux环境中Qt程序的手工发布
Linux环境中Qt程序的手工发布
- 在Ubuntu18.04中QT编程的环境构建(转)
在Ubuntu18.04中QT编程的环境构建 原点分析 百家号06-2110:14 如果说QT大家觉得陌生的话,那么 Windows 早年推出的C++图形用户界面的应用程序开发框架MFC,应该是耳熟能 ...
- Linux树莓派中/etc/rc.local不执行的问题
最近研究在树莓派中嵌入式开发java程序,并打算和Salesforce进行通信.需要开发一个java的web server,不想弄那么复杂,于是打算在linux系统中/etc/rc.local写想要执 ...
随机推荐
- while死循环导致的内存溢出
场景:新开发的功能内测,新调用了其它模块的接口,一如既往的点鼠标,计费,但是许久都没有响应页面遮罩一直锁着,最后抛出了以下异常 咋一看这个异常信息,不就是锁表了吗?把锁表进程Kill掉,再来一遍,结果 ...
- 网页三剑客:HTML+CSS+JavaScript 之JavaScript
JavaScript 简介 JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备. JavaScrip ...
- java jdk动态代理(proxy)
1. 涉及主要jdk api java.lang.reflect.InvocationHandler: public interface InvocationHandler { /** * Proce ...
- Centos7上搭建redis主从
1. 节点(服务器)数量说明 按照redis官方建议:salve和master的数量按照2n+1台服务器(1台master节点,2n台slave节点) 有兴趣的可以了解下redis的master选举机 ...
- UI对象库-定位元素与程序分离
1.前言 这几天有人问我,UI自动化测试中使用到的页面定位元素应该存放在哪里比较合适?我想说的是如果你使用的是PO设计模式设计测试用例的话,可以把定位元素存在每一个page页面,一个page存放对应的 ...
- ES6的Map如何遍历
projectMap.forEach(function (value, key, map) { //value和key就是map的key,value,map是map本身 });
- Troubleshooting 'library cache: mutex X' Waits. (Doc ID 1357946.1)
In this Document Purpose Troubleshooting Steps What is a 'library cache: mutex X' wait? What ...
- mongoTemplate查询大数据过慢
先上两段代码 代码一 Query query = new Query();queryAfter.addCriteria(Criteria.where("id").in(idList ...
- zoj 3602
链接 [https://vjudge.net/contest/293343#problem/C] 题意 给你两棵树.为有多少对子树是同构的 分析 就是简单的哈希吧.对于不同结构的树对应不同的哈希值 先 ...
- 获取url参数值(可解码中文值)
/** * 根据指定参数名称获取参数值 * @param {String} urlStr 参数名称 * @return {Object} 参数值 * */ getUrlParams = functio ...