注: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的寄存器,對應(yīng)PIN腳的IO復(fù)用值和GPIO對應(yīng)的序號(hào)
返回:
無
2.pwm_start
功能:
pwm 開始雷激。每次更新pwm設(shè)置后替蔬,都需要重新調(diào)用本接口進(jìn)行計(jì)算。
函數(shù)定義:
void pwm_start(void)
參數(shù):
無
返回:
無
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
返回:
對應(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
返回:
無
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ù):
無
返回:
pwm版本信息