目录
【WiringPi库环境搭建】
WiringPi库环境已搭建,可查看
树莓派开发之旅 (七)【C开发之WiringPi库】_ZZQ-ZZQ的博客-CSDN博客
【驱动蜂鸣器】
代码:
#include <wiringPi.h>
#include <stdlib.h>
#include <stdio.h>
#define GPIOPIN 0 //定义蜂鸣器引脚GPIO0(wiringPi标准)
int main(void)
{
int ret;
//第一步: 初始化wiringPi
ret = wiringPiSetup(); //编号为0 ,需要在root权限下才能执行
if(ret == -1)
{
printf("wiringPiSetup is error\r\n");
return ret;
}
//第二步:设置蜂鸣器引脚为输出引脚
pinMode(GPIOPIN, OUTPUT);
// 第三步:实现蜂鸣器的鸣叫,鸣叫500ms 间隔2s
for (;;)
{
digitalWrite(GPIOPIN, HIGH); delay(500);
digitalWrite(GPIOPIN, LOW); delay(2000);
}
return 0;
}
编译:-Wall 的作用是输出警告信息
gcc -Wall -o beep beep.c -lwiringPi
03_基于wiringPi的GPIO控制-蜂鸣器_wiringpi控制蜂鸣器_冷静的领头狼的博客-CSDN博客
【Qt开发环境搭建】
Qt 是一个跨平台的 C++ 图形用户界面应用程序框架,提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt 可以帮助我们轻松地使用 C++ 开发跨平台的 GUI 程序
安装Qt5命令(buster系统)
sudo apt-get update
sudo apt-get install qt5-default
sudo apt-get install qtcreator
sudo apt-get install qtmultimedia5-dev
sudo apt-get install libqt5serialport5-dev
bullseye 11系统安装Qt未成功(2023年7月30日),笔者这里更换了buster系统安装成功
【Qt测试案例】
接下来默认下一步
【Qt上位机驱动蜂鸣器】
写好界面,配置好槽函数后,在mainwindow.cpp中编写对应的控制代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>
#include <QDebug>
#define GPIOPIN 0 //定义蜂鸣器引脚GPIO0
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
int ret;
//第一步: 初始化wiringPi
ret = wiringPiSetup(); //编号为0 ,需要在root权限下才能执行
if(ret == -1)
{
qDebug("wiringPiSetup is error\r\n");
}
//第二步:设置蜂鸣器引脚为输出引脚
pinMode(GPIOPIN, OUTPUT);
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
digitalWrite(GPIOPIN, HIGH);
}
void MainWindow::on_pushButton_2_clicked()
{
digitalWrite(GPIOPIN,LOW);
}
在配置文件中添加软链接库-lwiringPi
LIBS += -lwiringPi
参考: