This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2541:如何在按下按钮时进行广播?

Guru**** 2589265 points
Other Parts Discussed in Thread: BLE-STACK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/601806/cc2541-how-do-advertising-while-the-button-is-pressed

器件型号:CC2541
Thread 中讨论的其他器件:BLE-STACK

你(们)好

我使用的是 SimpleBLECentralBroadcaster 示例(1.4.2.2 BLE-Stack、IAR)

此代码工作正常(按下按钮一次-广播开始;再次按下按钮-广播停止)

----------------------------------------

//广告
if (keys & HAL_key_sw_1)

P0_6 = 0;// LED 关闭
//按向右键应打开和关闭广播

UINT8 CURRENT_ADV_ENABLE_STATUS;
uint8 new_adv_enabled_status;

//查找当前的 GAP 广播状态
GAPRole_GetParameter (GAPROLE_advertise_enabled,&current_adv_enabled_status);

if (current_adv_enabled_status == false)

new_adv_enabled_status = true;

其他

new_adv_enabled_status = false;  


//将 GAP 广播状态更改为与当前状态相反
GAPRole_SetParameter( GAPROLE_advertise_enabled,sizeof ( uint8 ),&new_adv_enabled_status );

------------------------------------

但在我的器件中、我希望它在按下按钮时进行广播、并在按钮松开时停止广播。

请帮我解决这个问题。

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavel、

    按键驱动程序配置为在切换时工作、即按下/释放会触发操作。 您需要查看关键驱动程序源并对其进行修改、以便在按下/释放时工作。 我认为我们没有这种行为的示例、但所有必需的源代码都在相应的驱动程序文件中提供。

    祝你一切顺利
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    CC254x IO 中断仅在上升沿或下降沿工作。 假设您的按钮已注册、可在出现下降沿时触发中断、并将密钥事件发送到 xxx_handlekey 回调。 您可以在 handlekey 回调中启用广播并启动周期性事件以检查按钮是否已释放。 如果定期事件检测到按钮释放、您可以停止广播。