资源简介

nRF24LU1无线鼠标源代码. nRF24LU1无线鼠标源代码. nRF24LU1无线鼠标源代码.

资源截图

代码片段和文件信息

/* Copyright (c) 2006 Nordic Semiconductor. All Rights Reserved.
 *
 * The information contained herein is confidential property of Nordic Semiconductor. The use
 * copying transfer or disclosure of such information is prohibited except by express written
 * agreement with Nordic Semiconductor.
 */

 /** @file
 *
 * @author Runar Kjellhaug
 *
 */

#include 
#include 

#include “nordic_common.h“
#include “hal_nrf.h“

#define SET_BIT(pos) ((uint8_t) (1<<( (uint8_t) (pos) )))
#define UINT8(t) ((uint8_t) (t))

void hal_nrf_set_irq_mode(hal_nrf_irq_source_t int_source bool irq_state)
{
  if(irq_state)
  {
    hal_nrf_write_reg(CONFIG hal_nrf_read_reg(CONFIG) & ~SET_BIT(int_source));
  }
  else
  {
    hal_nrf_write_reg(CONFIG hal_nrf_read_reg(CONFIG) | SET_BIT(int_source));
  }
}

uint8_t hal_nrf_get_clear_irq_flags(void)
{
  return hal_nrf_write_reg(STATUS (BIT_6|BIT_5|BIT_4)) & (BIT_6|BIT_5|BIT_4);
}

void hal_nrf_clear_irq_flag(hal_nrf_irq_source_t int_source)
{
  hal_nrf_write_reg(STATUS SET_BIT(int_source));
}
 
bool hal_nrf_get_irq_mode(uint8_t int_type)
{
  if(hal_nrf_read_reg(CONFIG) & SET_BIT(int_type))
    return false;
  else
    return true;
}

uint8_t hal_nrf_get_irq_flags(void)
{
  return hal_nrf_nop() & (BIT_6|BIT_5|BIT_4);
}

void hal_nrf_set_crc_mode(hal_nrf_crc_mode_t crc_mode)
{
  hal_nrf_write_reg(CONFIG (hal_nrf_read_reg(CONFIG) & ~(BIT_3|BIT_2)) | (UINT8(crc_mode)<<2));
}

void hal_nrf_open_pipe(hal_nrf_address_t pipe_num bool auto_ack)
{
  switch(pipe_num)
  {
    case HAL_NRF_PIPE0:
    case HAL_NRF_PIPE1:
    case HAL_NRF_PIPE2:
    case HAL_NRF_PIPE3:
    case HAL_NRF_PIPE4:
    case HAL_NRF_PIPE5:
      hal_nrf_write_reg(EN_RXADDR hal_nrf_read_reg(EN_RXADDR) | SET_BIT(pipe_num));

      if(auto_ack)
        hal_nrf_write_reg(EN_AA hal_nrf_read_reg(EN_AA) | SET_BIT(pipe_num));
      else
        hal_nrf_write_reg(EN_AA hal_nrf_read_reg(EN_AA) & ~SET_BIT(pipe_num));
      break;

    case HAL_NRF_ALL:
      hal_nrf_write_reg(EN_RXADDR ~(BIT_7|BIT_6));

      if(auto_ack)
        hal_nrf_write_reg(EN_AA ~(BIT_7|BIT_6));
      else
        hal_nrf_write_reg(EN_AA 0);
      break;
      
    default:
      break;
  }
}

void hal_nrf_close_pipe(hal_nrf_address_t pipe_num)
{
  switch(pipe_num)
  {
    case HAL_NRF_PIPE0:
    case HAL_NRF_PIPE1:
    case HAL_NRF_PIPE2:
    case HAL_NRF_PIPE3:
    case HAL_NRF_PIPE4:
    case HAL_NRF_PIPE5:
      hal_nrf_write_reg(EN_RXADDR hal_nrf_read_reg(EN_RXADDR) & ~SET_BIT(pipe_num));
      hal_nrf_write_reg(EN_AA hal_nrf_read_reg(EN_AA) & ~SET_BIT(pipe_num));
      break;
    
    case HAL_NRF_ALL:
      hal_nrf_write_reg(EN_RXADDR 0);
      hal_nrf_write_reg(EN_AA 0);
      break;
      
    default:
      break;
  }
}

void hal_nrf_set_address(hal_nrf_address_t address uint8_t *addr)
{
  switch(address)
  {
    case HAL_NRF_TX:
  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2008-03-19 13:48  Source Code1\
     目录           0  2008-03-19 13:48  Source Code1\Arch\
     目录           0  2008-03-19 13:48  Source Code1\Arch\HAL\
     文件         182  2007-02-17 01:01  Source Code1\Arch\HAL\Changelog.txt
     文件          63  2006-10-04 14:59  Source Code1\Arch\HAL\COPYRIGHT.txt
     目录           0  2008-03-19 13:48  Source Code1\Arch\HAL\Include\
     文件        1608  2007-07-06 19:31  Source Code1\Arch\HAL\Include\hal_flash.h
     文件       15722  2007-07-06 19:31  Source Code1\Arch\HAL\Include\hal_nrf.h
     文件        9382  2007-07-06 19:31  Source Code1\Arch\HAL\Include\hal_nrf_reg.h
     文件        1264  2007-07-06 19:31  Source Code1\Arch\HAL\Include\hal_spi.h
     文件        1647  2007-07-06 19:31  Source Code1\Arch\HAL\Include\hal_uart.h
     文件       11304  2007-07-06 19:31  Source Code1\Arch\HAL\Include\hal_usb.h
     文件        4385  2007-07-06 19:31  Source Code1\Arch\HAL\Include\hal_usb_desc.h
     文件         809  2007-07-06 19:31  Source Code1\Arch\HAL\Include\hal_usb_hid.h
     文件         459  2007-07-06 19:31  Source Code1\Arch\HAL\Include\hal_usb_hid_desc.h
     文件        1441  2007-07-06 19:31  Source Code1\Arch\HAL\Include\nordic_common.h
     文件         102  2006-10-04 14:59  Source Code1\Arch\HAL\LICENSE.txt
     目录           0  2008-03-19 13:48  Source Code1\Arch\HAL\nRF24L01\
     文件       12632  2007-08-07 22:05  Source Code1\Arch\HAL\nRF24L01\hal_nrf_l01.c
     目录           0  2008-03-19 13:48  Source Code1\Arch\HAL\nRF24LU1\
     文件        2114  2007-08-02 16:26  Source Code1\Arch\HAL\nRF24LU1\hal_flash.c
     文件         843  2007-07-31 17:12  Source Code1\Arch\HAL\nRF24LU1\hal_nrf_hw.c
     文件        1141  2007-07-06 19:31  Source Code1\Arch\HAL\nRF24LU1\hal_nrf_hw.h
     文件        1266  2007-08-02 16:26  Source Code1\Arch\HAL\nRF24LU1\hal_spi.c
     文件        3013  2007-07-06 19:31  Source Code1\Arch\HAL\nRF24LU1\hal_uart.c
     文件       27471  2007-07-31 17:12  Source Code1\Arch\HAL\nRF24LU1\hal_usb.c
     文件        3487  2007-07-06 19:36  Source Code1\Arch\HAL\nRF24LU1\hal_usb_hid.c
     文件        1578  2007-07-06 19:36  Source Code1\Arch\HAL\nRF24LU1\usb.h
     文件        4172  2007-07-06 19:31  Source Code1\Arch\HAL\nRF24LU1\usb_map.h
     目录           0  2008-03-19 13:48  Source Code1\Arch\nRF24LU1\
     文件        1497  2007-07-31 17:12  Source Code1\Arch\nRF24LU1\cklf.c
............此处省略147个文件信息

评论

共有 条评论