02树莓派4B—C语言编程——PWM
01树莓派直接输出PWM波 —— 硬件PWM程序 (推荐使用)
#include <stdio.h>
#include <wiringPi.h>
#include <softPwm.h> //必不可少
int main( void)
{
int pwm_gpio5 = ; //使用GPIO5
int i=;
wiringPiSetup(); //写的不严谨 应该也判断一下, 看初始化是否成功
pinMode(pwm_gpio5 ,PWM_OUTPUT);
printf("pwm_gpio5 is blinking...\n");
for(;;)
{
for(i=;i<;i++)
{
pwmWrite(,i);
delay();
printf("Testing is %d......\n",i);
}
for(i=;i>;i--)
{
pwmWrite(,i);
delay();
printf("Testing is %d......\n",i);
}
}
}
02树莓派直接输出PWM波 —— 软件PWM程序
#include <stdio.h>
#include <wiringPi.h>
#include <softPwm.h>
int main( void)
{
int pwm_gpio5 = ;
int i=;
wiringPiSetup();
pinMode(pwm_gpio5 ,PWM_OUTPUT);
printf("pwm_gpio5 is blinking...\n");
softPwmCreate(pwm_gpio5,); //创建软PWM 默认的值100
for(;;)
{
for(i=;i<;i++)
{
softpwmWrite(,i);
delay();
printf("Testing is %d......\n",i);
}
for(i=;i>;i--)
{
softpwmWrite(,i);
delay();
printf("Testing is %d......\n",i);
}
}
}
03 wiringPI 中包含了一个软件驱动的PWM处理库,可以在任意的树莓派GPIO口输出PWM信号。其中PWM频率越高,所需要的CPU资源越多,特别注意需要寻求平衡
04 编译生成执行文件时,千万别忘记加 -lwiringPi -lpthread
02树莓派4B—C语言编程——PWM的更多相关文章
- 01 树莓派4B—C语言编程——GPIO
#include <stdio.h>#include <wiringPi.h> int main( void){ int LED1 = 1; int LED4 = 4; wir ...
- 树莓派4B智能小车机器套件——入手组装实验记录
树莓派4B智能小车机器套件--入手组装实验记录 4WD智能小车(4WD SMART ROBOT KIT),支持Arduino.51.STM32.Raspberry Pi等4个版本.本套件采用的是树莓派 ...
- linux 操作系统下c语言编程入门
2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门--时间概念 5)Linux程序设计入门--信号处理 6)Linux程序设计入门--消息管理 ...
- 读取树莓派4B处理器(CPU)的实时温度
读取树莓派4B处理器(CPU)的实时温度 树莓派发布4B后,性能提升了不少,但是温度也是高的不行,所以最好配置一个小风扇和散热片还是比较好的 俩种办法都可以实现 1.Shell命令读取 打开终端 cd ...
- 树莓派4B到货开箱体验
树莓派4B到货开箱体验 实不相瞒,喜欢这块板已经很久了,但是国内4GB内存的版本始终没货,.....等等等,终于到货了,迅雷不及眼耳之势赶紧下单...购买点亮开发板所需要的物件 顺便看到一个好看的外壳 ...
- 树莓派4B踩坑指南 - (15)搭建在线python IDE
今天想在树莓派上自己搭一个在线的python IDE,于是找到了一篇教程--Fred913大神的从头开始制作OJ-在线IDE的搭建 自己尝试动手做了一下, 还是发现不少细节需要注意, 记录在此 如果不 ...
- 树莓派4b通过外接ssd硬盘启动系统失败的排查和解决
树莓派4b通过外接ssd硬盘启动系统失败,症状: 屏幕卡在黑屏或提示 mmc1:Controller never released inhibit bit(s).... 先说如何设置硬盘启动,后面是解 ...
- C语言编程实现Linux命令——who
C语言编程实现Linux命令--who 实践分析过程 who命令是查询当前登录的每个用户,它的输出包括用户名.终端类型.登录日期及远程主机,在Linux系统中输入who命令输出如下: 我们先man一下 ...
- 个人c语言编程风格总结
总结一下我个人的编程风格及这样做的原因吧,其实是为了给实验室写一个统一的C语言编程规范才写的.首先声明,我下面提到的编程规范,是自己给自己定的,不是c语言里面规定的. 一件事情,做成和做好中间可能隔了 ...
随机推荐
- There are unfinished transactions remaining. Please run yum-complete-transaction as root.
问题:CentOS 运行软件更新时,提示如下错误. 解决办法: 在终端界面,运行 sudo yum-complete-transaction.
- smartJQueryZoom(smartZoom) 存在的兼容性BUG,以及解决方法
smartJQueryZoom 是一个很好用的库. 它基于jQuery,可以对某个元素(比如 img)进行渲染,渲染之后可以放大这个区域,在做图片浏览时很好用. 但它有一个兼容性BUG: 当浏览器不是 ...
- Newbe.Claptrap 框架入门,第二步 —— 简单业务,清空购物车
接上一篇 Newbe.Claptrap 框架入门,第一步 —— 创建项目,实现简易购物车 ,我们继续要了解一下如何使用 Newbe.Claptrap 框架开发业务.通过本篇阅读,您便可以开始尝试使用 ...
- 设计模式:factory method模式
核心:将实例的生成交给子类,父类中只定义生成实例的接口 理解:对比模板方法模式的思维非常类似,模板方法模式中的模板方法理解成创造对象的抽象方法,不再是流程框架,就变成工厂方法模式,只是具体的方法是创建 ...
- abp vnext 开发快速入门 4 跨域设置
由于项目采用的微服务框架,前端与后端交互难免有跨域的问题.abp vnext实现跨域也很简单,只需要设置几处就可以了,这里只讲全局的跨域,至于局部的Action如何跨域请自行搜索.netcore 跨域 ...
- centos7 安装 isign
centos应该自带python和openssl,这两个就不用装了, 先安装zip和git yum install -y unzip zip yum install git 然后克隆代码: https ...
- laravel 迁移文件中修改含有enum字段的表报错解决方法
解决方法: 在迁移文件中up方法最上方加上下面这一行代码即可: Schema::getConnection()->getDoctrineSchemaManager()->getDataba ...
- servlet执行
WEB编程阶段 在WEB编程中,我们可以通过浏览器访问WEB服务器上的资源.WEB服务器就是另一台计算机 浏览器的入口不同(访问路径),访问的资源也不同. 为了灵活实现的不同路径(/hello)执行不 ...
- flask的第一次尝试
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return "Hello ...
- 菜鸟教程的 mysql-connector 基础
安装驱动 python -m pip install mysql-connector 导包 import mysql.connector mydb = mysql.connector.connect( ...