木子剑
生命不熄,学习不止!

第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.

最终效果如:

微信图片_20260713095542_4_1

只配了读取和写入权限,接下来通过手机写入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 ===

posted on 2026-07-13 11:21  木子剑  阅读(0)  评论(0)    收藏  举报