第1步:打开EVT\EXAM\BLE\Peripheral\Profile下的gattprofile.c和gattprofile.h文件,
// Key Pressed UUID #define SIMPLEPROFILE_CHAR1_UUID 0xFFE1 #define SIMPLEPROFILE_CHAR2_UUID 0xFFE2 #define SIMPLEPROFILE_CHAR3_UUID 0xFFE3 #define SIMPLEPROFILE_CHAR4_UUID 0xFFE4 #define SIMPLEPROFILE_CHAR5_UUID 0xFFE5
官方当前GARR属性表只有5张,0xFFE1 -- 0xFFE5,我们参考方法,实现0xFFE6.
最终效果如:

只配了读取和写入权限,接下来通过手机写入0x0F关掉 0x0E打开,原理图上的PB6外接的LED灯.
在开始之前,先使用下面代码,测试LED是不是能正常点亮:
#include "CH58x_common.h" // muzi测试led任务 static void MuZiLedTask(void) // led函数TASK { static uint8_t init_1=1; if(init_1) // 只初始化一次 { init_1=0; GPIOB_ModeCfg(GPIO_Pin_6, GPIO_ModeOut_PP_20mA); // 推挽输出最大5mA GPIOB_InverseBits(GPIO_Pin_6); // PB6电平翻转,点亮LED } GPIOB_InverseBits(GPIO_Pin_6); // PB6电平翻转,点亮LED }
如果裸机要在GPIOB_InverseBits(GPIO_Pin_6); 后面多加一段延时,才能看清LED灯闪.我是直接用的TMOS系统的周期性EV事件进行测试OK.
=== END ===
浙公网安备 33010602011771号