一、创建工程
1.1配置sys
选择自己的芯片
1.2配置定时器
1.3打开外部时钟
1.4配置时钟
1.5配置PC13位output对应板上的LED
1.6设置堆栈为4K,导出
二、keil下的配置
2.1添加代码
将flash.c 和flash.h添加到工程中 添加代码:
#include "flash.h"
uint8_t FlashWBuff [255];
uint8_t FlashRBuff [255];
uint8_t i;
uint8_t FlashTest[] = "Hello This is ZhangShiSan Flash Test DEMO";
2.2编译运行
DEBUG下选择STlink
将程序下载到单片机中 下载完成
点击debug 在view下打开memory1窗口 View->Watch windows->Watch 1打开一个变量观察窗口,将变量FlashWBuff 和 FlashRBuff加入到 Watch 1 观察窗口:
F5全速运行
三、基于片内flash的提示音播放程序
3.1使用DAC输出周期2kHZ的正弦波
建议先用单音音频(比如2000Hz的正弦波)的wav数据进行实验,通过DAC或PCM音频模块能够基本还原出原始正弦波声音后,再用语言/音乐信号进行实验。 生成单音正弦波 文件–>新建–>音频文件 效果->生成->音调 文件->导出->设置导出为wav文件 用UltraEdit得到相关数据 用UltraEdit打开刚才保存的wav文件 CTRL+A,接着鼠标右键,选择 十六进制复制选定视图,将内容粘贴到一个新建文件中 在新建文件中,CTRL+A,接着鼠标右键,选择范围输入起始的行号和列号,确定就选中了整个我们需要的内容 复制到notepad++中 Edit编辑->列块编辑->输入0x 这里借用DAC生成正弦波的例程代码
链接:https://pan.baidu.com/s/18zsQG5mZXbjafPuAJEUkMg 提取码:706i
将内容复制到keil文件对应的位置,在下图红框中进行替换。 之后,编译下载,看能否观察到预期的正弦波。
3.2使用DAC输出数字音频歌曲数据转换为模拟音频波形输出
操作同上,采样率修改一下,其余烧录步骤都是一样的,不再赘述。
四、参考
https://blog.csdn.net/nsnsnbabsb/article/details/111870898 https://blog.csdn.net/zhanglifu3601881/article/details/96632971
|