微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > DTMF发送时间控制的问题

DTMF发送时间控制的问题

时间:10-02 整理:3721RD 点击:
  现在遇到个非常难搞的问题。
  发送DTMF音,不知道在哪控制发送时间,我定时器定的时间,跟我录音解析后的时间对不上。
  而且,现在的版本,在其他地区每个音的持续时间偏差都不大,但是在北京就会出现偏差较大的情况。
  求解 !
以下是发送的代码:
extern void srv_ucm_start_dtmf_action(U16 digit);
extern void srv_ucm_stop_dtmf_action();
extern void srv_ucm_stop_dtmf_digits();
#define KEY_TONE_TM        60//20
#define NONE_LONG_TM       10//
void KEY_DtmfSend(void)
{
    if(StrLen == 0)
                keyCode = KEY_STAR;
        else
            keyCode = DtmfStr[StrLen]-0X30;
        
        if(key_timer_id == NULL){
           key_timer_id = kal_create_timer("KEY_DtmfSend");//创建定时器
          kal_pROMpt_trace(MOD_ENG,"----key_timer_id-----\n\r");
          DelayTime = 40;
        }
    else
    {
                if(StrLen < strlen(DtmfStr)){
                        if(PwmCtr) //du
                        {
                           PwmCtr = KAL_FALSE;
                       srv_ucm_start_dtmf_action(keyCode);
                       DelayTime = KEY_TONE_TM;
                        }
                        else{
                       PwmCtr = KAL_TRUE;
                       srv_ucm_stop_dtmf_action();
                           StrLen++;
                           DelayTime = NONE_LONG_TM;
                        }
                }
                else
                {
                  StrLen = 0;
                  PwmCtr = KAL_TRUE;
                  DelayTime = 800;
                }
    }
        kal_set_timer(key_timer_id, (kal_timer_func_ptr)KEY_DtmfSend,NULL,DelayTime,NULL);//8
}

[img]file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\474023479\QQ\WinTemp\RichOle\8V1{A88@0EZVQS8LW7RD5M6.png[/img]

发送函数


自己顶一下!

不懂,但是支持一下,呵呵!加油兄弟,这个论坛好冷清!

是啊

哈哈,够了不用借了,兄弟,你继续努力,不过北京比其他地方偏差大,难道跟纬度有关系?温度有关系?还是pm2.5有关系?

好东西

我现在也没搞懂

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top