日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

在linux环境下安装wiringpi库,wiringPi库的pwm配置及使用说明

發布時間:2024/9/27 linux 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在linux环境下安装wiringpi库,wiringPi库的pwm配置及使用说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文介紹樹莓派(raspberry pi)在linux c 環境下的硬件pwm配置及使用方法。

1. 下載安裝wiringPi

此步驟建議參考官網指南,wiringPi提供了對樹莓派的硬件IO訪問,包括GPIO/I2C/PWM等,下載安裝后本地會出現wiringPi文件夾,根目錄下有/examples 可供參考。

2. 樹莓派PWM硬件

以raspberry pi 3b 為例,嘗試在命令行下輸入 pinout,可查看當前pi的io映射圖

這是當前pi的gpio布局,卻不是wiringPi的IO映射表,因此參考時需注意,好在搜索一番便找到一張raspberry 3b的wiringpi IO映射表

圖中的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》吧

從描述來看,MSEN=0似乎用來傳輸N/M數據, MSEN=1才是設置占空比輸出,因此處的pwm輸出模式選擇PWM_MODE_MS

pwmWrite():設置pwm的輸出占空比。因為一個周期長度為range,因此占空比的范圍為0~range.

此外,wiringPi也提供了軟件PWM輸出,由于屏蔽了硬件相關信息,其接口理解也更為方便,在此不再贅述。

總結

以上是生活随笔為你收集整理的在linux环境下安装wiringpi库,wiringPi库的pwm配置及使用说明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。