摘要: 前面部分的头文件可以不需要,这个头文件适应ATMEL128 CPU#include <iom128.h>#include <intrinsics.h>/********************************************************************* 快速福利叶变换C函数函数简介:此函数是通用的快速傅里叶变换C语言函数,移植性强,以下部分不依 赖硬件。此函数采用联合体的形式表示一个复数,输入为自然顺序的复 数(输入实数是可令复数虚部为0),输出为经过FFT变换的自然顺序的 复数使用说明:使用此函数只需更改宏定义FFT_N的值即可实 阅读全文
posted @ 2013-05-31 17:38 MMLoveMeMM 阅读(689) 评论(0) 推荐(1)
摘要: 本文测试环境 :X86-64 bit 架构的服务器CentOS x64 5.xgcc version 4.1.2 20080704指针和数组是C的比较难搞懂的知识点, 需要结合内存来学习, 非常感谢各位兄弟为我指点迷津.下面总结一下 :首先说明一下C程序在运行时, 不同的内容或变量分别存储在什么地方?分了几块区域分别是, code, constants, global, heap, stack; (内存地址从低到高)其中constants存储常量(常量值不允许修改), global存储在所有函数以外定义的全局变量(全局变量允许修改), heap是一块动态内存区域(可存放持久化内容, 不会自动释 阅读全文
posted @ 2013-05-31 16:55 MMLoveMeMM 阅读(314) 评论(0) 推荐(0)
摘要: 根据前面对wav格式信息的了解:给出如下函数:两颗星的变量指向从数据wav文件读取的音频数据,不包括wav头部信息,获得的数据直接可以放到wavoutWrite函数中进行播放输出(当然事先还要打开设备之类的).用CFile读取wav文件数据,作为输入.int read_wav_head(WAVEFORMATEX *wf, char **out_buffer, int *out_len, char *in_buffer, int in_len){char *lp_pos; int itmp; lp_pos = in_buffer; if(in_buffer == NULL || in_len . 阅读全文
posted @ 2013-05-31 16:38 MMLoveMeMM 阅读(1548) 评论(0) 推荐(0)
摘要: 将录取的数据保存为wav输出,需要注意wav的数据组成格式,基本需要下面三个操作过程.a>产生标准的wav头部信息数据;b>获得录取的声音数据;a>数据后面连接b>数据,合并上面两个数据,得到一个总数据.c>像操作文件读写一样将上面两个数据一次性写入.wav文件即可.下面给出上面步骤实现函数:int write_wav_head(WAVEFORMATEX *wf, char *in_buffer, int in_len, char **out_buffer, int *out_len){char *buffer; int *int_tmp,pos=0; *out_ 阅读全文
posted @ 2013-05-31 16:34 MMLoveMeMM 阅读(511) 评论(0) 推荐(0)
摘要: 录制声音一般采用两种机制:第一种: 直接在UI下采用消息;第二种: 开辟一个线程单独进行;下面先介绍第一种如何进行,DEMO是网上的,挺零碎的,我费了点功夫,调试能直接使用的.<1> : wav族函数进行声音采集和播放时,会以下几个消息:MM_WIM_OPEN、MM_WIM_DATA、MM_WIM_CLOSE、MM_WOM_OPEN、MM_WOM_DONE、MM_WOM_CLOSE所以新建一个MFC工程,并且添加如下三个消息:MM_WIM_OPEN、MM_WIM_DATA、MM_WIM_CLOSE当然也可以将另外三个播放的消息也一并添加.假设新建了Recorde MFC Dialo 阅读全文
posted @ 2013-05-31 16:21 MMLoveMeMM 阅读(891) 评论(0) 推荐(0)