cc2640r2f的project_zero增加个连接状态LED指示功能那些变量可以按提示定义声明功能:未连接时,快闪led,连接上后慢闪
1、端口初始化
// Open LED pins DIO9
led1PinHandle = PIN_open(&led1PinState, led1PinTable);
if(!led1PinHandle) {
Log_error0("Error initializing board LED1 pins");
Task_exit();
}
PIN_setOutputValue(led1PinHandle, Board_BLED, 0);
2、创建自己的周期定时器
//2创建自己的定时器
static Clock_Struct myperiodicClock; //定时器
定时回调函数
static void my_clockHandler(UArg arg)
{
// Wake up the application.
Event_post(syncEvent, arg);
}
事件ID
#define MY_PERIODIC_EVT Event_Id_04
// Create one-shot clocks for internal periodic events.
//**********************************************************************************
//2创建自己的软件定时
//**********************************************************************************
Util_constructClock(&myperiodicClock, my_clockHandler, //回调函数:
500 , 0, false, MY_PERIODIC_EVT);
Util_startClock(&myperiodicClock); //启动定时器
主循环执行
//***********************************************************************************************************
if (events & MY_PERIODIC_EVT)//5秒判断 3,3有接收就转发 给4
{
events &= ~MY_PERIODIC_EVT;
if(flash_led==0)
{
flash_led=1;
PIN_setOutputValue(led1PinHandle, Board_BLED, 0);//
if(my_State==1) //连接成功
{
Util_rescheduleClock(&myperiodicClock, 20);//10ms
}
else if(my_State==0) //未连接成功
{
Util_rescheduleClock(&myperiodicClock, 300);//10ms
}
}
else
{
flash_led=0;
PIN_setOutputValue(led1PinHandle, Board_BLED, 1);//
if(my_State==1) //连接成功
{
Util_rescheduleClock(&myperiodicClock, 3000);//10ms
}
else if(my_State==0) //未连接成功
{
Util_rescheduleClock(&myperiodicClock, 300);//10ms
}
}
Util_startClock(&myperiodicClock);//开启定时功能
} |