在带有 Cortex-M0 (ATSAMD21) 的 Arduino 上,您的 PWM 控制在频率和速度方面有更多选择,而不仅仅是 AnalogWrite() 函数。
我花了一些精力浏览论坛和演示才弄明白,所以我喜欢分享。
困难在于找出正确的寄存器设置,使用数据表,第 31 章 - TCC 定时器/计数器,具体 31.6.2 用于设置 PWM 计数器 - 使用 GCLKC4(arduino 未使用)并将它们连接到正确的 TCC,和正确的 IO 引脚。
代码是自解释的,并使用双斜率 PWM 模式为低速(几赫兹)和高速(>>500Khz)创建无毛刺 PWM 信号。
您可以通过将压电扬声器连接到 IO(用于可听频率)来进行简单测试。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !