【杰理AC692X】外挂FM IIC与TF卡复用,FM和TF播放串音的问题

应客户要求,要做外挂FM,QN8075.
在原厂 AC692X软件问题处理说明文档,43点问题,《外挂FM IIC与SD卡复用》中描述了这个做法:

就是 iic 处理的时候关掉 SD 检测和电源,iic 处理完再开启检测,FM 模式退出后 开启 SD 电源。支持 AC692 所有 SDK 版本。

根据文档中的操作就可以复用了,但是在测试时发现,当样机在FM模式时插入TF卡会出现同时播出FM和TF音乐,根据以往经验,估计是FM 模式在切模式时没完全退出导致和其它播放模式串声,那就在在让FM退出一次就好。

FM 模块退出函数:

void task_fmmode_exit(void)
{
    /*先关闭FM模块线程,再关闭FM变采样线程*/
    fm_printf("task_fm_exit !!\n");
    mutex_resource_release("fm");

    fm_radio_powerdown();
    task_clear_all_message();
    fm_arg_close();
	sd1_power_api(DEV_POWER_ON);
}

在TF卡插入消息这做处理:

case MSG_SD1_ONLINE:
        puts("MSG_SD1_ONLINE\n");
		if(task_get_cur() == TASK_ID_FM){
			task_fmmode_exit();
			delay_2ms(10);
		}
        if (dev_online_mount(sd1)) {
            if (task_get_cur() == TASK_ID_MUSIC) {           //当前为音乐任务不切换,把该消息给music任务处理
                puts("MUSIC :MSG_SD1_ONLINE_SUCC\n");
                task_post_event(NULL, 1, EVENT_SD1_ON_SUCC);
                break;
            }
			
            if (task_switch(TASK_ID_MUSIC, sd1) == true) {
                exit = false;
            }
        }
        break;
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值