微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > BLE自动休眠与定时器4冲突

BLE自动休眠与定时器4冲突

时间:10-02 整理:3721RD 点击:

我有一个项目,使用CC2541, 软件是从SensorTag修改而来

板子上另有一个无源蜂鸣器接在P2.0上通过 PWM(Timer4 通道0)驱动,

目前发现的问题是:单独写个不带其他任何内容的PWM程序驱动蜂鸣器没有问题,但是放在整个程序中(使用了BLE 1.4), PWM输出波形有变形,

我设定的是4K的输出, 在使用了BLE的工程中P2.0输出的脉冲很长,超过了250us的周期,所以输出的声音听起来嘶哑 很难听

因为单独写pwm程序驱动,所以我想应该是软件方面哪里冲突了, BLE的休眠机制我还没有完全参透,请问TI的技术支持,还有各位大牛, 有没有可能BLE自动休眠的时候导致PWM不输出呢,

信号变形不规则的,没有很特定的规律 我正在做其他实验 如有结果在这里贴出

恳请TI的支持,或者其他高人现身 不然我只有把代码一点点屏蔽来看问题了 这个就太费时间了

休眠时timer不工作的,需要切换工作状态

uint8 buzzer_Start(uint16 frequency)
{
Buzzer_Init();
//切换电源模式为常通
#if defined ( POWER_SAVING )
osal_pwrmgr_device( PWRMGR_ALWAYS_ON );
#endif
//......
}
//暂停播放
extern void Buzzer_Pause(void)
{
//.....

 //切换电源模式,进入节电
#if defined ( POWER_SAVING )
    osal_pwrmgr_device( PWRMGR_BATTERY );
#endif
}
//停止播放
extern void Buzzer_Stop(void)
{   
//......
 //切换电源模式,进入节电
#if defined ( POWER_SAVING )
    osal_pwrmgr_device( PWRMGR_BATTERY );
#endif
}

控制代码省略,自己编写

虽然刚刚解决了问题之后才发现此回复 不过还是多谢这位高人

TI的keyfob应用中有这种例子 可惜我一开始没有注意到

不过TI的技术支持是不是也太懒了....

谢谢高人 虽然刚刚从keyfob例子中找到解决方案 还是非常感谢你的回应

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

网站地图

Top