下面介紹ASF中PWM模塊同時(shí)使用多個(gè)通道的用法:
定義PWM變量,每個(gè)通道需要單獨(dú)定義一個(gè)變量
struct pwm_config pwm_1;
struct pwm_config pwm_2;
使用pwm_init函數(shù)初始PWM。如果是同一個(gè)PWM模塊(定時(shí)器),需要使用相同的頻率參數(shù)。
設(shè)置每個(gè)通道的占空比
pwm_set_duty_cycle_percent(&pwm_1, duty);
pwm_set_duty_cycle_percent(&pwm_2, duty);
pwm_set_duty_cycle_percent和pwm_start函數(shù)的區(qū)別
雖然兩個(gè)函數(shù)都是設(shè)置占空比的,參數(shù)也完全相同,但是pwm_start還會(huì)再次設(shè)置定時(shí)器參數(shù),比 pwm_set_duty_cycle_percent速度慢,效率低,所以一般是PWM初始化時(shí)用pwm_start函數(shù),其他地方使用pwm_set_duty_cycle_percent函數(shù)。
參考代碼,控制XMEGA A3BU Xplained的PD6/OC1A和PD5/OC1B。因?yàn)樵谟布希瑑蓚€(gè)LED是反相的,所以設(shè)置占空比時(shí)需要用100-duty。
-
PWM
+關(guān)注
關(guān)注
114文章
5198瀏覽量
214876
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論