⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hw_hadc.h

📁 瑞星微公司RK27XX系列芯片的SDK开发包
💻 H
字号:
/******************************************************************/
/*   Copyright (C) 2007 ROCK-CHIPS FUZHOU . All Rights Reserved.  */
/*******************************************************************
File :  HW_HADC.h
Desc :  高速ADC控制器

Author : lingzj
Date : 2007-06-30
Notes :

$Log: HW_HADC.h,v $
Revision 1.2  2007/10/08 02:38:43  Lingzhaojun
添加版本自动注释脚本

*********************************************************************/

#ifndef __HADC_H
#define __HADC_H

#include "hw_include.h"


#define RegHADCBase       AHB1_HS_ADC_BASE  //0x1e780000


#define RegHadcData    RegHADCBase+0x00    /*样本数据寄存器*/
#define RegHadcCtrl    RegHADCBase+0x04    /*采样控制寄存器*/
#define RegHadcIntCtrl    RegHADCBase+0x08    /*中断控制寄存器*/
#define RegHadcIntState   RegHADCBase+0x0C    /*中断状态寄存器*/


#define HW_HadcSample_10bit() SetRegBit32(RegHadcCtrl, 2)  /* 10bit 采样*/
#define HW_HadcSample_8bit() ClrRegBit32(RegHadcCtrl, 2)  /* 8bit  采样*/

#define HW_HadcEnable()   SetRegBit32(RegHadcCtrl, 1)  /* 使能 HADC*/
#define HW_HadcDisable()  ClrRegBit32(RegHadcCtrl, 0)  /* 挂起 HADC*/

#define HW_HadcDMAReqFull()  SetRegBit32(RegHadcCtrl, 5)  /* 使能FIFO满DMA请求*/
#define HW_HadcDMAReqEmpty() ClrRegBit32(RegHadcCtrl, 5)  /* 使能FIFO空DMA请求*/

#define HW_HadcEmptyIntEn()  SetRegBit32(RegHadcIntCtrl, 1)  /* 使能FIFO空中断*/
#define HW_HadcFullIntEn()  SetRegBit32(RegHadcIntCtrl, 0)  /* 使能FIFO满中断*/

#define HW_HadcStoreH()   SetRegBit32(RegHadcCtrl, 3)  /* 数据存高位*/
#define HW_HadcStoreL()   ClrRegBit32(RegHadcCtrl, 3)  /* 数据存低位*/

#define HW_HadcSMSB()   SetRegBit32(RegHadcCtrl, 4)  /* 数据高位取反*/
#define HW_HadcCPHA()    SetRegBit32(RegHadcCtrl, 1)  /* clk取反*/

#define HW_GetFullIntState() GetRegBit32(RegHadcIntState, 0) /* 获取满中断标志*/
#define HW_GetEmptyIntState() GetRegBit32(RegHadcIntState, 1) /* 获取空中断标志*/



//HADC模式设置

#define HadcMode_10Bit  (1<<0)
#define HadcMode_8Bit  (1<<1)
#define HadcMode_En   (1<<2)
#define HadcMode_Dis   (1<<3)
#define HadcMode_DMA   (1<<4)
#define HadcMode_Int   (1<<5)
#define HadcMode_DataH   (1<<6)
#define HadcMode_DataL   (1<<7)
#define HadcMode_ClkNe   (1<<8)
#define HadcMode_DatNe  (1<<9)


static const UINT32 HadcModeNormal = (HadcMode_10Bit
                                      | HadcMode_En
                                      | HadcMode_DMA
                                      | HadcMode_Int
                                      | HadcMode_DataL);

typedef int (*HADCCallBack)(void);      /*hadc 回调函数*/
int HadcSet(UINT32 Mode);
int HadcStart(UINT32 Mode, UINT32 Size, UINT32*pBuf, HADCCallBack CB);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -