嗨对话小组,
我对用于打开LED的四个特性有一个处理函数。每个特性只能打开一个LED。但是,每个特征都可以打开所有4个LED。我已经为所有四个特征使用了一个处理函数。
a)我应该使用单独的处理程序功能吗?
b)有没有办法差异化我在彼此中以特征写作的数据。
我只想检查,其中用户输入数据并相应地打开/关闭LED。
我急切地等待回复。
关键词:
设备:
嗨对话小组,
我对用于打开LED的四个特性有一个处理函数。每个特性只能打开一个LED。但是,每个特征都可以打开所有4个LED。我已经为所有四个特征使用了一个处理函数。
a)我应该使用单独的处理程序功能吗?
b)有没有办法差异化我在彼此中以特征写作的数据。
我只想检查,其中用户输入数据并相应地打开/关闭LED。
我急切地等待回复。
你好Sam123,
1)您知道AD转换器结果寄存器的值(寄存器名为GP_ADC_RESULT_REG)吗?它与Blueloupe中看到的不同吗?你用getword16阅读了寄存器,不是getword8 / getbyte?
2)您只需要一个处理函数来写入。例如,如果您打开加速配置文件Accel_Task.C.,您可以找到处理程序功能
static int gattc_write_cmd_ind_handler.
。使用Switch管理不同特征值属性的处理---案例语句:嗨,
我有四个特性,应打开四种不同的LED。每个特性应切换分配给其特性的LED。然而,每个特性都可以开启/关闭所有4个LED。应该有一个切换案例来区分特性,使得写入特性1仅打开LED1而不是LED2 / LED3 / LED4。我不确定了应实施的切换条件和开关案例。我正在附加我的处理函数,让您的善意。如何实现Switch Case语句?
msgstmm msgid,lame msgid sample128_val_ind_handler(Ke_msg_id_t const
struct sample128_val_ind const * param,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)
{
//特征1
memcpy(&sample128_my_new,&param-> val,sizeof(my_new_t));
get_value1 =(* sample128_my_new);
if(get_value1 == set_value1)
{
gpio_setactive(gpio_port_0,gpio_pin_7);
}
其他
{
gpio_setinactive(gpio_port_0,gpio_pin_7);
}
// 2nd写知特征
memcpy(&sample128_my_newer,&param-> val,sizeof(my_newer_t));
get_value2 =(* sample128_my_newer);
if(get_value2 == set_value2)
{
gpio_setactive(gpio_port_1,gpio_pin_0);
}
其他
{
gpio_setinactive(gpio_port_1,gpio_pin_0);
}
// 3rd写知
memcpy(&sample128_my_new3,&param-> val,sizeof(my_new_t3));
get_value3 =(* sample128_my_new3);
if(get_value3 == set_value3)
{
gpio_setactive(gpio_port_1,gpio_pin_2);
}
其他
{
gpio_setinactive(gpio_port_1,gpio_pin_2);
}
//第4个写知
memcpy(&sample128_my_newer4,&param-> val,sizeof(my_newer_t4));
get_value4 =(* sample128_my_newer4);
if(get_value4 == set_value4)
{
gpio_setactive(gpio_port_1,gpio_pin_3);
}
其他
{
gpio_setinactive(gpio_port_1,gpio_pin_3);
}
return(ke_msg_consumed);
}