工具与软件:
您好!
我使用 CC2340R5作为外设。 我有一个用例。 当按下 CC2340R5上的按钮通知中央设备消息时、一个 LED 将亮起、在 250毫秒后熄灭。 此外、为了方便您参考、我的整个项目仅在一个蓝牙主线程中运行、而且 GPIO 仅在同一线程中运行
目前、我正在使用 ClockP 模块、这是我的函数:
void toggleLedOnce (){
GPIO_WRITE (LED_RED、1);
ClockP_usleep (250000);
GPIO_WRITE (LED_RED、0);
}
但是 ClockP_usleep 会使蓝牙任务进入睡眠状态吗? 这将延迟向右中央发送命令?. 因此,我不是睡眠,我不能用其他东西来实现这种像一次性计时器中断吗?所以,按下按钮, LED 将开始发光,我将启动计时器。250毫秒后,计时器中断被触发,我关闭 LED ,计时器过期? 我只有一个线程(主要蓝牙线程)、不想为实现这一目的而创建单独的线程。此外、请注意、我无法在我的项目中使用 Led.h 模块。 我必须仅使用 GPIO 实现 blinkLedOnce。 请建议如何操作
此外,我尚未初始化我的代码中当前的任何时钟模块,但我直接使用 ClockP_usleep(),它不会导致这样的任何问题。 这样可以吗? 无论可用于计时器和时钟的任何示例都非常复杂和令人困惑、因此请帮助我。