比如:
/* S1 */
#define PUSH1_BV BV(1)
#define PUSH1_SBITP0_1
#define PUSH1_POLARITYACTIVE_LOW
具体什么意思你看看这个文件其他代码,
在文件hal_key.c中,使用了函数void HalKeyPoll (void)中定义了按键的轮询,当然是按键采用的是轮询的模式,不是中断的模式,里面会有类似这样的判断
if (!(HAL_KEY_SW_6_PORT &HAL_KEY_SW_6_BIT))/* Key is active low */
{
keys |= HAL_KEY_SW_6
}
HAL_KEY_SW_n是在这里用的,同时产生按键事件到应用层,GenericApp_HandleKeys()
判断是那个按键,从而执行什么样的 *** 作。
至于你说的导航键的判断,还是在void HalKeyPoll (void)中会判断导航键的采样,不同的方向采样值是不一样的,所以可以当做4个方向按键,同时导航键中间也连接了一个I/O口,就有5个了。
希望对你有所帮助!
ZStack管理节点支持多个管理节点同时提供服务,一般在中小规模下双管理节点即可正常承载整个云平台正常运行。ZStack可实现单管理节点管控上万台物理机,选取两个管理做管理节点高可用。单管理节点故障不会影响业务,也不会影响整个平台正常使用。一般当系统上有多个网卡和IP地址的时候(比如说一个是内网,另一个外网),ZStack会默认选择系统默认路由使用的网卡IP地址。当然你也可以手动指定ZStack服务监听的IP地址:
[root@ceph-host ~]# zstack-ctl configure management.server.ip=${MANAGEMENT_IP}
其中,${MANAGEMENT_IP}是用户希望指定的IP地址。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)