nRF51822 配置超过4个的 按键驱动

最近一个用到超过4个按键驱动,PCA10028 的板子上只有4个,所以SDK9 的pca10028.h 的宏只定义了4

#define BUTTONS_NUMBER 4

但是我要用超过4个的时候,就不行了,bsp_buttons_init() 函数返回NRF_ERROR_NO_MEM= 0x00000004, 意思是没有足够的空间了。

神经病,怎么可能。仔细往下面找代码,就会找到channel_port_alloc() 函数引起的,

这里我就不分析是什么原因了,自己看代码,解决的办法请看下面的帖子

https://devzone.nordicsemi.com/question/96461/how-to-use-more-that-4-buttons/

就是说改下这个宏:

#define GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS  14 //6

比如我用了 14个,就改成 14,

就这样。

还有个宏 还没时间看它,可是要注意一下:

#define NUMBER_OF_GPIO_TE   4

再说吧,深圳下大雨,我要下班了,拜拜,各位。

原文地址:https://www.cnblogs.com/ceibacity/p/7202348.html