引用: 引用 4 楼 lbing7 的回复:
间隔300ms依次输出1,
LZ你不是在开玩笑吗?
300MS间隔输出1秒一次的频率
你的间隔还没有输出时间长,这个能得到输出效果吗?
呵呵其它的基本好办,以1K的为基准,算好,其它的在中断里计数应该就OK了
不过会有误差
要误差小点,用状态机方式,不同的输出要求为不同的状态,然后采用不同的寄存器配置
引用: 引用 6 楼 Soyokaze 的回复:
设TC1控制频率,TC2控制时值
每个要播放的音符的数据结构可看作包含两个元素:频率(单位:HZ)、时值(单位:ms)
从而,可以声明为:
C/C++ codestruct Note{
unsigned int tune; //频率
unsigned int time; //时值
} *m_pNote;
那么,整个待播放的音乐可以存放到一个结构数组中。
程序每次读取一个音符,进行播放。
有两种方法:循环和中断。建议用中断的,因为循环的话,播放期间,MCU无法出路别…