Linux
发布时间:2022-04-01 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了wiringPi库的pwm配置及使用说明,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述
本文介绍树莓派(raspberry pi)在linux c 环境下的硬件pwm配置及使用方法。 1. 下载安装wiringPi 此步骤建议参
考官网指南
http://wiringpi.com/download-and-install/,wiringPi提供了对树莓派的硬件IO访问,包括GPIO/I2C/PWM等 下载安装后,本地
会出现wiringpI文件夹,根目录下有/examples 可供参
考。
本文介绍树莓派(raspBerry pi)在linux c 环境下的硬件pwm配置及使用方法。
1. 下载安装wiringPi
此步骤建议参考官网指南 http://wiringpi.com/download-and-install/,wiringPi提供了对树莓派的硬件IO访问,包括GPIO/I2C/PWM等
下载安装后,本地会出现wiringpI文件夹,根目录下有/examples 可供参考。
@H_944_26@@H_944_26@![wiringPi库的pwm配置及使用说明 wiringPi库的pwm配置及使用说明](http://img.voidcn.com/vcimg/static/loading.png)
2. 树莓派PWM硬件
以raspBerry pi 3b 为例,尝试在命令行下输入 pinout,可查看当前pi的io映射图
@H_944_26@@H_944_26@![wiringPi库的pwm配置及使用说明 wiringPi库的pwm配置及使用说明](http://img.voidcn.com/vcimg/static/loading.png)
这是当前pi的gpio布局,却不是wiringPi的IO映射表,因此参考时需注意,好在在网上找到一张raspBerry 3b的wiringpi io映射表
@H_944_26@@H_944_26@![wiringPi库的pwm配置及使用说明 wiringPi库的pwm配置及使用说明](http://img.voidcn.com/vcimg/static/loading.png)
图中的gpio1(pwm0) 及 gpio23(pwm1) 即为我们需要传输给wiringpi的硬件pwm输出脚
3. wiringPi pwm 接口说明
在examples/pwm.c 或 wiringPi/wiringPi.c中可查看pwm的相关接口,但却没有详细的调用说明,经过一番查阅,得出接口的使用方法为:
- pwmSetClock():设置pwm的工作时钟。19.2MHz晶振为pwm提供时钟输入,wiringpi在初始化gpio时默认采用32倍分频(参考wiringPI.c 中的pinMode() 代码),因此不调用此函数,pwm的默认工作时钟为600KHz.
- pwmSetRange():设置pwm的输出周期。以600KHz的工作时钟为例,假设pwm输出频率为freq,则range = 600000/freq.
- pwmSetMode():设置pwm的工作模式,wiringPi.h头文件中包含此2种模式 PWM_MODE_MS/PWM_MODE_BAL,但并未做任何解释。。.那就看手册《BCM2837-ARM-Peripherals.pdf》吧@H_944_26@@H_944_26@
@H_944_26@@H_944_26@![wiringPi库的pwm配置及使用说明 wiringPi库的pwm配置及使用说明](http://img.voidcn.com/vcimg/static/loading.png)
从描述来看,MSEN=0似乎用来传输N/M数据, MSEN=1才是设置占空比输出,因此处的pwm输出模式选择PWM_MODE_MS
-
pwmWrite():设置pwm的输出占空比。因为一个周期长度为range,因此占空比的范围为0~range.
大佬总结
以上是大佬教程为你收集整理的wiringPi库的pwm配置及使用说明全部内容,希望文章能够帮你解决wiringPi库的pwm配置及使用说明所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。