XMEGA PWM模块多通道的用法详解

电子说

1.3w人已加入

描述

下面介绍ASF中PWM模块同时使用多个通道的用法:

定义PWM变量,每个通道需要单独定义一个变量

struct pwm_config pwm_1;

struct pwm_config pwm_2;

使用pwm_init函数初始PWM。如果是同一个PWM模块(定时器),需要使用相同的频率参数。

设置每个通道的占空比

pwm_set_duty_cycle_percent(&pwm_1, duty);

pwm_set_duty_cycle_percent(&pwm_2, duty);

pwm_set_duty_cycle_percent和pwm_start函数的区别

虽然两个函数都是设置占空比的,参数也完全相同,但是pwm_start还会再次设置定时器参数,比 pwm_set_duty_cycle_percent速度慢,效率低,所以一般是PWM初始化时用pwm_start函数,其他地方使用pwm_set_duty_cycle_percent函数。

参考代码,控制XMEGA A3BU Xplained的PD6/OC1A和PD5/OC1B。因为在硬件上,两个LED是反相的,所以设置占空比时需要用100-duty。

PWM

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • PWM

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分