Thread 中讨论的其他器件: SYSBIOS
大家好、
我正在使用 cc2650,它介绍了如何使用 Task_sleep()使 LED 闪烁,您还能解释一下这一点
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.
您好、Yikai、
非常感谢您的回复、我尝试过、但没有成功
int rcnt = 0;
for (rcnt = 10;rcnt > 0;rcnt -)
{
//Task_sleep (50000 / Clock_tickPeriod);
PIN_setOutputValue (ledPinHandle、Board_LED0、0);
Task_sleep (1000*(1000 / Clock_tickPeriod));
PIN_setOutputValue (ledPinHandle、Board_LED0、0);
Task_sleep (1000*(1000 / Clock_tickPeriod));
//PIN_setOutputValue (ledPinHandle、Board_LED0、0);
}
Rcnt = 0;
由于在 Task_sleep 前后使用 PIN_setOutputValue (ledPinHandle、Board_LED0、0)、因此不看到闪烁是正常现象。 是否不将两个 PIN_setOutputValue (ledPinHandle、Board_LED0、0)中的一个更改为 PIN_setOutputValue (ledPinHandle、Board_LED0、1)?
感谢您的回复、我觉得此代码正常工作
while (!PIN_getInputValue (pinId)){
PIN_setOutputValue (ledPinHandle、Board_LED1、1);
CPUdelay (8000*50);
PIN_setOutputValue (ledPinHandle、Board_LED1、0);
CPUdelay (8000*50);
}
但是、当尝试将 CPUdelay 重放为 TaskSleep 时、它不起作用、为什么可以对此进行解释
while (!PIN_getInputValue (pinId)){
uint32_t sleepU = 50000000;
PIN_setOutputValue (ledPinHandle、Board_LED1、1);
Task_sleep (sleepU/Clock_tickPeriod);
PIN_setOutputValue (ledPinHandle、Board_LED1、0);
Task_sleep (sleepU/Clock_tickPeriod);
}