我现在通过按键可以从CC2541板子往蓝牙模块发数据了,但是老板要求按下按键灯亮,松开按键灯灭。
if ( keys & HAL_KEY_SW_1 ) //UP 开始键
{
attWriteReq_t req;
BLE_DEV *p = &(gDev[simpleBLEScanIdx]);
req.handle = GUA_CHAR1_Hdl; //simpleBLECharHdl;
req.len = 3;
req.value[0] = 0x31;
req.value[1] = 0x0D;
req.value[2] = 0x0A;
req.sig = 0;
req.cmd = 0;
//simpleBLEConnHandle=0x0000;
p->simpleBLEConnHandle=0x0000;
simpleBLETaskId=0x0B;
status = GATT_WriteCharValue( p->simpleBLEConnHandle, &req, simpleBLETaskId );
HAL_TURN_OFF_LED1();
}
HAL_TURN_OFF_LED1();这个是灯亮,和官方板子接的方向不一致。
这个按键处理
// 按键处理
static void simpleBLECentral_HandleKeys( uint8 shift, uint16 keys )
在这个函数里面。
按键使用下降沿中断搞的。
现在按下键可以灯亮。
至于松开灯灭,我想这样实现。
再搞一个上升沿检测,检测到上升沿让灯灭。
还得搞一个函数,在函数里判断。
总觉得SDK里的很复杂,不知道具体怎么操作,谢谢!