【富芮坤FR3068x-C】+语音数据采集与USB保存代码阅读
之前使用操作系统win7,使用官方给的驱动,还是不能正常编译下载,后来有测评说使用win10可以,所以在win10系统中安装了keil5.36(推荐的版本)
还要安装pack包:
还要安装python编译环境,注意:这里编译后会运行一个 python 脚本打包固件信息,所以需要电脑上提前安装了 python 环境才行,安装最新版本,参考网上教程即可,这里不在赘述。
打开一个实例工程,点击编译按钮,编译成功后会在工程的 output 目录下生成 Project_burn.bin 文件,这个文件就是我们要烧录到芯片的应用程序。 要注意在同一目录下还有一个Project.bin 文件,下载到芯片的是Project_burn.bin文件。在下载时要注意:usb和debug都要接上,点选FR300X和自动烧录、自动重启,加载烧录文件之后需要按下开发板上rst按键,程序才会烧录到芯片!!下载了几个demo进行实验,这是实验结果,开发板不断发送数据到串口调试端:
学习使用的难点在于没有库函数的详细说明,比如在使用数字麦克风时:
bool Porting_Mic_fifo_status(void)
{
if (__PDM_IS_FIFO_ALMOST_FULL(hpdm.PDMx))
return 1;
else
return 0;
}
__PDM_IS_FIFO_ALMOST_FULL这个函数没法直接跳转,还是使用搜索功能找到定义出处:
#define __PDM_IS_FIFO_ALMOST_FULL(__PDMx__) (__PDMx__->INT_RAW_STA.FF_AFULL)
首先PDM是什么?查找数据手册文档:
找到原始中断状态寄存器定义处,再才理解该函数实现过程。没有详细库函数说明,只能自己查阅手册进行学习理解。
说明可以通过麦克风采集语音数据保存到缓存中,再输出到AUDIO;在这个实例demo中是将语音从PDM采集保存到USB接的存储设备中:
采集的语音还可以通过音频调制器(PSD_DAC)进行输出,如果外接了喇叭就可以外放语音了,关键函数是:
找到音频调制器函数:
找到关键语句:
/* write fifo */
#define __PSD_DAC_WRITE_FIFO_DATA_LEFT(__DATA__) (PSD_DAC->DACDataL = __DATA__)
#define __PSD_DAC_WRITE_FIFO_DATA_RIGHT(__DATA__) (PSD_DAC->DACDataR = __DATA__)
查看PSD_DAC工作原理:
PSD_DAC->DACDataL,需要查阅手册看看这个寄存器作用:
这个demo可以完成任务如下:将语音从数字麦克风采集,再保存到USB存储设备,也可以调用函数输出到音频调制接口,由于假期没有示波器所以只能分析代码了。