simpleProfileChar1的值是怎么接收读到的数据的,
bStatus_t SimpleProfile_GetParameter( uint8 param, void *value )
{
bStatus_t ret = SUCCESS;
switch ( param )
{
case SIMPLEPROFILE_CHAR1:
*((uint8*)value) = simpleProfileChar1;
break;
case SIMPLEPROFILE_CHAR2:
*((uint8*)value) = simpleProfileChar2;
break;
case SIMPLEPROFILE_CHAR3:
*((uint8*)value) = simpleProfileChar3;
break;
case SIMPLEPROFILE_CHAR4:
*((uint8*)value) = simpleProfileChar4;
break;
case SIMPLEPROFILE_CHAR5:
VOID osal_memcpy( value, simpleProfileChar5, SIMPLEPROFILE_CHAR5_LEN );
break;
default:
ret = INVALIDPARAMETER;
break;
}
return ( ret );
}
*((uint8*)value) = simpleProfileChar1;
simpleProfileChar1把值赋给 *value ,我找了好久不知道simpleProfileChar1的值来自哪里,恳请TI的工程师解读解读。
ming,
在simpleGATTProfile.c 里面。
有个初始化赋值,然后可以通过调用 SimpleProfile_SetParameter() 进行赋值。
你好,
你可以查看对应的.h文件
// Profile Parameters
#define SIMPLEPROFILE_CHAR1 0 // RW uint8 - Profile Characteristic 1 value
#define SIMPLEPROFILE_CHAR2 1 // RW uint8 - Profile Characteristic 2 value
#define SIMPLEPROFILE_CHAR3 2 // RW uint8 - Profile Characteristic 3 value
#define SIMPLEPROFILE_CHAR4 3 // RW uint8 - Profile Characteristic 4 value
#define SIMPLEPROFILE_CHAR5 4 // RW uint8 - Profile Characteristic 4 value
其对应的是:
// Simple Profile Service UUID
#define SIMPLEPROFILE_SERV_UUID 0xFFF0
// Key Pressed UUID
#define SIMPLEPROFILE_CHAR1_UUID 0xFFF1
#define SIMPLEPROFILE_CHAR2_UUID 0xFFF2
#define SIMPLEPROFILE_CHAR3_UUID 0xFFF3
#define SIMPLEPROFILE_CHAR4_UUID 0xFFF4
#define SIMPLEPROFILE_CHAR5_UUID 0xFFF5
希望可以帮到你。
hi,yan
我说的是SimpleProfile_GetParameter() 里面的 *((uint8*)value) = simpleProfileChar1; 这里的simpleProfileChar1 的值来自哪里。
你的意思是SimpleProfile_GetParameter() 函数又调用了 SimpleProfile_SetParameter() 么?
hi,kqian
我讲的是bStatus_t SimpleProfile_GetParameter( uint8 param, void *value ) 函数里的 *((uint8*)value) = simpleProfileChar1;
simpleProfileChar1 和 SIMPLEPROFILE_CHAR1 不是一个东西吧。
其实就是 simpleProfileChar1的值赋给 *value ,然后读*value的值,所以我想问通过BLE传来的数据是怎么赋值给 simpleProfileChar1的。