esp8266 PWM接口

注:pwm驅(qū)動(dòng)接口函數(shù)不能跟hw_timer.c的接口同時(shí)使用,因?yàn)槎吖灿昧送粋€(gè)硬件定時(shí)器

1.pwm_init

功能:初始化pwm,包括GPIO選擇,周期和占空比。目前僅支持調(diào)用一次
函數(shù)定義:
void pwm_init(
    uint32 period,
    uint8 *duty,
    uint32 pwm_channelnum,
    uint32 (*pin_info_list)[3]
)
參數(shù):
    uint32 period :pwm 周期;
    uint *duty :各路pwm的占空比
    uint32 pwm_channel_num: pwm 通道數(shù)
    uint32 (*pin_info_list)[3] pwm 各通道的GPIO硬件參數(shù)。本參數(shù)是一個(gè)n*3的數(shù)組指針,
    數(shù)組中定義了GPIO的寄存器,對(duì)應(yīng)PIN腳的IO復(fù)用值和GPIO對(duì)應(yīng)的序號(hào)
返回:
    無(wú)

2.pwm_start

功能:
    pwm 開始。每次更新pwm設(shè)置后,都需要重新調(diào)用本接口進(jìn)行計(jì)算。
函數(shù)定義:
    void pwm_start(void)
參數(shù):
    無(wú)
返回:
    無(wú)

3.pwm_set_duty

功能:
    設(shè)置pwm某個(gè)通道信號(hào)的占空比。設(shè)置各路pwm信號(hào)高電平所占的時(shí)間,duty的范圍隨pwm
周期改變,最大值:period * 1000 / 45 。例如,1kHz PWM, duty范圍0~22222
注意:
設(shè)置完成后,需要調(diào)用pwm_start生效。
函數(shù)定義:

4.void pwm_set_duty(uint32 duty, uint8 channel)

參數(shù):
uint32 duty: 設(shè)置高電平時(shí)間參數(shù),占空比的值為(duty * 45) / (period * 1000)
函數(shù)定義:
uint8 pwm_get_duty(uint8 channel)
參數(shù):
uint8 channel :當(dāng)前要查詢的pwm通道,取值范圍依據(jù)實(shí)際使用了幾路pwm,在IOT_Demo中取值在#define PWM_CHANNEL
返回:
對(duì)應(yīng)某路pwm信號(hào)duty參數(shù)

5.pwm_set_period

功能:設(shè)置pwm周期,單位us。例如,1kHz pwm,參數(shù)為1000us。
注意:設(shè)置完成后,需要調(diào)用pwm_start生效
函數(shù)定義:
void pwm_set_period(uint32 period)
參數(shù):
uint32 period:pwm周期,單位:us
返回:
無(wú)

6.pwm_get_period

功能:
查詢pwm周期
函數(shù)定義:
uint32 pwm_get_period(void)
返回:
pwm周期,單位:us

7.get_pwm_version

功能:
查詢pwm版本信息
函數(shù)定義:
uint32 get_pwm_version(void)
參數(shù):
無(wú)
返回:
pwm版本信息
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容