完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
现在我可以用 key.c doc 中的 api 设置一个键,我想用 api 设置多个键。
我这样做如下: [静态结构 keys_param button_param[2]; 静态结构single_key_param *light_button_single; 静态结构single_key_param *mist_button_single; PIN_FUNC_SELECT(LIGHT_BUTTON_IO_MUX,LIGHT_BUTTON_IO_FUNC); PIN_FUNC_SELECT(MIST_BUTTON_IO_MUX,MIST_BUTTON_IO_FUNC); light_button_single = key_init_single( LIGHT_BUTTON_IO_NUM, LIGHT_BUTTON_IO_MUX, light_button_io_func, &Light_Button_LongPress_Handler, &Light_Button_ShortPress_Handler ); button_param[0].key_num = 1; button_param[0].single_key = &light_button_single; mist_button_single = key_init_single( MIST_BUTTON_IO_NUM, MIST_BUTTON_IO_MUX, mist_button_io_func, &Mist_Button_LongPress_Handler, &Mist_Button_ShortPress_Handler ); button_param[1].key_num = 2; button_param[1].single_key = &mist_button_single; key_init( button_param ); pin_pullup_en(light_button_io_mux); pin_pullup_en(mist_button_io_mux); ][/代码] 但我只能控制一把钥匙,只是不知道为什么。 |
|
相关推荐
1个回答
|
|
要使用密钥API设置多个密钥,您可以按照以下步骤操作:
1. 首先,定义一个结构体数组来存储多个密钥参数。例如,您可以创建一个包含两个密钥参数的结构体数组: ```c #define KEY_NUM 2 static struct keys_param button_params[KEY_NUM]; ``` 2. 接下来,为每个密钥分配一个结构体,并初始化它们的参数。例如,您可以为LIGHT_BUTTON和MIST_BUTTON分别创建结构体: ```c static struct single_key_param *light_button_single; static struct single_key_param *mist_button_single; ``` 3. 初始化LIGHT_BUTTON和MIST_BUTTON的IO_MUX和IO_FUNC: ```c PIN_FUNC_SELECT(LIGHT_BUTTON_IO_MUX, LIGHT_BUTTON_IO_FUNC); PIN_FUNC_SELECT(MIST_BUTTON_IO_MUX, MIST_BUTTON_IO_FUNC); ``` 4. 使用`key_init_single`函数初始化每个密钥,并将其存储在结构体数组中: ```c light_button_single = key_init_single(LIGHT_BUTTON_IO_NUM, LIGHT_BUTTON_IO_MUX, LIGHT_BUTTON_IO_FUNC, &button_params[0]); mist_button_single = key_init_single(MIST_BUTTON_IO_NUM, MIST_BUTTON_IO_MUX, MIST_BUTTON_IO_FUNC, &button_params[1]); ``` 5. 现在,您可以使用`button_params`数组来访问和管理多个密钥。例如,您可以遍历数组并执行某些操作: ```c for (int i = 0; i < KEY_NUM; i++) { struct keys_param *current_key = &button_params[i]; // 在这里执行所需的操作,例如检查密钥是否被按下等 } ``` 通过这种方式,您可以使用密钥API设置和管理多个密钥。只需确保为每个密钥分配正确的参数和IO_MUX/IO_FUNC即可。 |
|
|
|
只有小组成员才能发言,加入小组>>
1032 浏览 1 评论
562浏览 6评论
470浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
454浏览 5评论
455浏览 4评论
428浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 02:19 , Processed in 0.698947 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号