用STM32F103输出一路PWM波形
野火官网中找到相关代码
打开文件bsp_GeneralTim.c
原文件为四路输出,可自行增加或删减通道,实现一路或多路输出
将代码烧到开发板中,令示波器探头接触开发板的PA4,另一端接地,可在示波器看到如下波形:
用STM32F103的DAC功能实现波形输出
输出一个周期2khz的正弦波
在野火官网给的代码中找到如下
为了得到2Khz的正弦波,需要将定时周期改为1125,即Period为1125-1
烧录程序后,示波器图像如下:
再将蜂鸣器分别连接PA4和GND,可以听到微弱的鸣声,可用放大电路放大声音
将一段数字音频歌曲数据转换为模拟音频波形输出
用Adobe Audition CS6中打开一首歌曲,截取3-6秒音频,截取选区为wav文件
可设置相应的采样类型
用UltraEdit打开这个wav文件
CTRL+A 全选,鼠标右键->十六进制复制选定视图,在UltraEdit新建文件,粘贴
然后将光标放在代码左上角和右下角,并在下方看到行号和列号
鼠标右键->选择范围,输入刚才的起始和结束的行号和列号,确定后复制粘贴为文本
用notepad++打开保存的文本文件(也可以直接复制到notepad),编辑–列块编辑–插入文本,光标移到相应列插入即可
将生成的字节,复制到bsp_dac.c文件中
将程序烧录进开发板,示波器显示如下:
连接蜂鸣器,可以听到音乐。