你好
我在定制板中有一个 CC2651R3SIPA、带有 SMD 蜂鸣器(2种型号、一种是无品牌型号、另一种是 KLJ9025-3627)和一个 VCLL4040 I2C 传感器。
我正在使用 SDK 7.10.1.24、并已在 simple_peripheral 示例的基础上开发该项目。 我还使用带有 CC2651R3SIPA 的定制板、该板使用修改后的 simple_central 并通过 BLE 连接到该板(我将其称为中央和外设、以简化读取)。
在这个级别中、我处理要为蜂鸣器生成的声音的 PWM 控制、只需发出一声微弱 的蜂鸣声、蜂鸣声持续时间较短或较长(250毫秒和600毫秒)。 在99%的时间内这可以正常工作、但在某些情况下 、PWM 发生器会卡住、从而发出无限期的蜂鸣声(实际结束时间未经过测试、但程序没有响应、因此在该状态下很可能冻结)。
电路板的工作原理:
1.中央的固件定期检查外围设备,并在检测到外围设备后连接到外围设备。
2.外围设备启动时不通告 BLE。 当 首次触发 VCNTL4040 (接近传感器)中断时、它可以连接到并发出短暂的蜂鸣声。
3.一旦中心设备连接到外围设备,外围设备就会发出两声短蜂鸣声。
4.在一定数量的不活动(在尝试查找错误期间、时间似乎不是一个因素、因此 uint32_t 溢出来计算时间、如下所示: (uint32_t)(Clock_getTicks ()* Clock_tickPeriod / 1000)不会使外设中断)、外设被置于较低功耗模式。 目前这个软件还在开发中、因此只需要完成以下工作:
- VCNL4040设置降低,所以它消耗较少,以及速率降低,所以它不会捕获太多的信息。
-已禁用间隙调整
-用于执行任务的周期性时钟被停止。
-一行 Power_Sleep (PowerCC26XX_STANDBY);用于 simple_peripheral 作为默认限制和与电源管理相关的其他设置。
5.当外设处于这种低功耗模式时,可以触发它回到正常状态,回到#2。
这在大多数时间都是有效的,没有问题,如标题中所指定,但它有时在执行启动蜂鸣音时失败,这会 无限期地卡住。
在 PWM 无限期生成之前、不应发生或发生什么情况:
-以相对相同的时间开始发出两声蜂鸣声(在同一个 PWM 上)。
-在 PWM 停止执行前发出哔哔声并启用 Power_sleep、因此不正确地关闭 PWM 通道。
我已经测试了很多次,我找不到一个清晰的模式,因为它只发生 很少。
我的下一个想法是、电源管理可能正在对我不知道的东西进行初始化。
我不知道我能提供什么更多的细节,因为它似乎是具体的和难以重现,它感觉有些随机,但可以自由地问,我会看到我可以提供什么。
PD。 我只能从无线论坛中进行选择、尽管我不相信这是无线问题、但可以随意移动。
您好!
艾伯特