PWM 实例
LinkNode上没有提供DAC的功能,所以用PWM来实现模拟的输出。
本例通过PWM的方式来实现对Buzzer,使其播出一段旋律。
硬件清单
- LinkNode
- Micro USB 数据
步骤
1. 编写程序
- 打开mbed在线编译器,创建新程序,或在上一个实例的基础上进行修改
- 编译并生成hex文件
- PC接上LinkNode,将生成的hex文件复制到识别的系统磁盘中
- 完成下载后,按一次板上的RESET键对程序进行复位
- 蜂鸣器会发出一段旋律。
软件清单
#include "mbed.h"
PwmOut buzzer(P0_22);
//频率数组
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++) {
buzzer.period(1/(2*frequency[i])); // 设置PWM周期
buzzer=0.5; // 设置占空比
wait(0.4*beat[i]); // 保持节拍周期
}
}
}