OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4453|回复: 1

void wav_recorder(void)函数问题

[复制链接]

17

主题

42

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2296
金钱
2296
注册时间
2017-5-22
在线时间
214 小时
发表于 2020-6-18 22:23:24 | 显示全部楼层 |阅读模式
2金钱
void wav_recorder(void)
{ {         u8 res;
        u8 key;
        u8 rval=0;
        __WaveHeader *wavhead=0;
        DIR recdir;                                                 //Ŀ¼  
        u8 *pname=0;
        u8 timecnt=0;                                        //¼Æê±Æ÷   
        u32 recsec=0;                                        //¼òôê±¼ä
          while(f_opendir(&recdir,"0:/RECORDER"))//′ò¿a¼òôÎļt¼D
        {         
                Show_Str(30,230,240,16,"RECORDERÎļt¼D′íÎó!",16,0);
                delay_ms(200);                                  
                LCD_Fill(30,230,240,246,WHITE);                //Çå3yÏÔê¾             
                delay_ms(200);                                  
                f_mkdir("0:/RECORDER");                                //′′½¨¸ÃĿ¼   
        }   
        i2srecbuf1=mymalloc(SRAMIN,I2S_RX_DMA_BUF_SIZE);//I2S¼òôÄú′æ1éêÇë
        i2srecbuf2=mymalloc(SRAMIN,I2S_RX_DMA_BUF_SIZE);//I2S¼òôÄú′æ2éêÇë  
          f_rec=(FIL *)mymalloc(SRAMIN,sizeof(FIL));                //¿a±ùFIL×Ö½úμÄÄú′æÇøóò  
        wavhead=(__WaveHeader*)mymalloc(SRAMIN,sizeof(__WaveHeader));//¿a±ù__WaveHeader×Ö½úμÄÄú′æÇøóò
        pname=mymalloc(SRAMIN,30);                                                //éêÇë30¸ö×Ö½úÄú′æ,ààËÆ"0:RECORDER/REC00001.wav"
        if(!i2srecbuf1||!i2srecbuf2||!f_rec||!wavhead||!pname)rval=1;         if(rval==0)               
        {
                recoder_enter_rec_mode();        //½øèë¼òôÄ£ê½,′Ëê±¶ú»ú¿éòÔìyμ½ßäí·2é¼ˉμ½μÄòôÆμ   
                pname[0]=0;                                        //pnameûóDèÎoÎÎļtÃû
                   while(rval==0)
                {
                        key=KEY_Scan(0);
                        switch(key)
                        {               
                                case KEY2_PRES:        //STOP&SAVE
                                        if(rec_sta&0X80)//óD¼òô
                                        {
                                                rec_sta=0;        //1رÕ¼òô
                                                wavhead->riff.ChunkSize=wavsize+36;                这里的36是什么数,Chunk块标志符+数据大小是24
                                                   wavhead->data.ChunkSize=wavsize;               

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2020-8-29 02:03:29 | 显示全部楼层
建议你sizeof一下就知道了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 20:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表