ZIGBEE 移植,按键HAL_KEY_SW_6 不能使用问题解决

在ZIGBEE官方移植代码中遇到HAL_KEY_SW_6无法使用的难题,原因是HAL_KEY_JOY冲突。解决办法涉及对hal_key.c中的HalKeyPoll函数进行调整,需详细检查和修改相关轮询代码。
摘要由CSDN通过智能技术生成

ZIGBEE 官方移植代码后,会发现HAL_KEY_SW_6 并不能使用,这是因为另一个按键HAL_KEY_JOY的原因,具体请看如下代码

在hal_key,c 中有HalKeyPoll 专门用于轮询按键

void HalKeyPoll (void)
{
  uint8 keys = 0;

  if ((HAL_KEY_JOY_MOVE_PORT & HAL_KEY_JOY_MOVE_BIT))  // Key is active HIGH
  {
    keys = halGetJoyKeyInput();
  }


  /* If interrupts are not enabled, previous key status and current key status
   * are compared to find out if a key has changed status.
   */
  if (!Hal_KeyIntEnable)
  {
    if (keys == halKeySavedKeys)
    {
      /* Exit - since no keys have changed */
      return;
    }
    /* Store the current keys for comparation next time */
    halKeySavedKeys = keys;
  }
  else
  {
    /* Key interrupt handled here */
  }

  if (HAL_PUSH_BUTTON1())
  {
    keys |= HAL_KEY_SW_6;
  }

  /* Invoke Callback if new keys were depressed */
  if (keys && (pHalKeyProcessFunction))
  {
    (pHalKeyProcessFunction) (keys, HAL_K
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值