打印
[Atmel]

在mbed环境下跑一下SAMD21:奏乐

[复制链接]
636|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
PWM可以放出音乐,我试了下千真万确,还挺好听。

原理是PWM产生频率一个数组而延时也就是节拍又是一个数组,两数组同时调。这样就出音乐了,而我只接一个无源的蜂鸣器.

以下是程序:
#include "mbed.h"
PwmOut PWM(PB16);
float frequency[]={659,554,659,554,440,494,554,587,494,659,554,440};
float beat[]={1,1,1,1,1,0.5,0.5,1,1,1,1,2};
int main()
{
    while(1)
    {
       for(int i=0;i<=11;i++)
       {
        PWM.period(1/(2*frequency[i]));
        PWM=0.5;
        wait(0.4*beat[i]);
        }   
        
    }
}
以下是运行时的照片:




相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2398

主题

6950

帖子

67

粉丝