资源简介
nRF24lu1实现的无线鼠标接收模块的程序,实现了USB接口协议
代码片段和文件信息
/* Copyright (c) 2008 XUNTONG technology co. All Rights Reserved.
*
* The information contained herein is confidential property of
* XUNTONG technology co. The use copying transfer or disclosure
* of such information is prohibited except by express written
* agreement with XUNTONG technology co.
*/
/** @file
*
* Application for Keyboard and Mouse.
*
*
*/
#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)
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-04-15 19:00 Source Code\
目录 0 2012-04-01 11:00 Source Code\Arch\
目录 0 2012-04-01 11:00 Source Code\Arch\HAL\
目录 0 2012-04-01 11:00 Source Code\Arch\HAL\Include\
文件 1446 2008-02-20 17:30 Source Code\Arch\HAL\Include\hal_flash.h
文件 15609 2008-02-20 17:30 Source Code\Arch\HAL\Include\HAL_NRF.H
文件 9138 2008-02-20 17:30 Source Code\Arch\HAL\Include\hal_nrf_reg.h
文件 11660 2008-02-21 08:58 Source Code\Arch\HAL\Include\HAL_USB.H
文件 4632 2008-02-20 17:57 Source Code\Arch\HAL\Include\hal_usb_desc.h
文件 1164 2008-02-21 08:58 Source Code\Arch\HAL\Include\hal_usb_hid.h
文件 750 2008-02-20 17:58 Source Code\Arch\HAL\Include\hal_usb_hid_desc.h
文件 1392 2008-02-20 17:30 Source Code\Arch\HAL\Include\nordic_common.h
目录 0 2012-04-01 11:00 Source Code\Arch\HAL\nRF24L01\
文件 12658 2008-02-20 17:34 Source Code\Arch\HAL\nRF24L01\hal_nrf_l01.c
目录 0 2012-04-01 11:00 Source Code\Arch\HAL\nRF24LU1\
文件 2413 2012-04-01 11:06 Source Code\Arch\HAL\nRF24LU1\hal_flash.c
文件 739 2012-04-02 08:50 Source Code\Arch\HAL\nRF24LU1\hal_nrf_hw.c
文件 1308 2008-02-20 17:30 Source Code\Arch\HAL\nRF24LU1\hal_nrf_hw.h
文件 27774 2012-04-01 11:11 Source Code\Arch\HAL\nRF24LU1\HAL_USB.C
文件 3826 2008-02-20 17:56 Source Code\Arch\HAL\nRF24LU1\hal_usb_hid.c
文件 1824 2008-02-20 17:57 Source Code\Arch\HAL\nRF24LU1\USB.H
文件 4527 2008-02-21 08:58 Source Code\Arch\HAL\nRF24LU1\USB_MAP.H
目录 0 2012-04-01 11:00 Source Code\Arch\nRF24LU1\
文件 1787 2012-04-01 11:12 Source Code\Arch\nRF24LU1\CKLF.C
文件 2756 2008-02-20 17:55 Source Code\Arch\nRF24LU1\CKLF.H
文件 778 2012-04-01 11:12 Source Code\Arch\nRF24LU1\CPU.C
文件 857 2008-02-20 17:55 Source Code\Arch\nRF24LU1\CPU.H
目录 0 2012-04-01 11:00 Source Code\Builds\
文件 30800 2008-02-21 10:05 Source Code\Builds\usb_dongle.hex
文件 14968 2008-02-27 15:30 Source Code\Builds\wdp_keyboard.hex
目录 0 2012-04-01 11:00 Source Code\Comp\
............此处省略308个文件信息
- 上一篇:2008年建模美赛O奖论文集(全部O奖论文合集
- 下一篇:打印机驱动程序分析与设计
评论
共有 条评论