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

📄 hw_hadc.c

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

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

$Log: HW_HADC.c,v $
Revision 1.2  2008/06/19 04:43:31  Administrator
代码整理!

Revision 1.1.1.1  2008/05/07 04:15:08  Administrator
no message

Revision 1.1.1.1  2008/03/06 13:29:05  Lingzhaojun
no message

Revision 1.3  2007/10/15 09:07:43  Huangxinyu
根据RK27提交修改driver

Revision 1.2  2007/10/08 02:38:43  Lingzhaojun
添加版本自动注释脚本

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

#include "HW_HADC.h"
#include "HW_HDMACtrl.h"


/*---------------------------------------------------------
Name  :  HadcSet
Desc  :  高速ADC设置
Params:
Author:  LingZJ
Date  :  070630
-----------------------------------------------------------*/

int HadcSet(UINT32 Mode)
{
    UINT8 FIFO_FullLevel, FIFO_EmptyLevel;
    UINT32 Tmp;


    if (Mode&HadcMode_10Bit)
        HW_HadcSample_10bit();

    if (Mode&HadcMode_8Bit)
        HW_HadcSample_8bit();

    if (Mode&HadcMode_DMA)
        HW_HadcDMAReqFull();

    if (Mode&HadcMode_Int)
        HW_HadcFullIntEn();

    if (Mode&HadcMode_DataH)
        HW_HadcStoreH();

    if (Mode&HadcMode_DataL)
        HW_HadcStoreL();

    if (Mode&HadcMode_ClkNe)
        HW_HadcCPHA();

    if (Mode&HadcMode_DatNe)
        HW_HadcSMSB();


    //Set FIFO Full and Empty Level
    FIFO_FullLevel = 0;
    FIFO_EmptyLevel = 4;
    Tmp = ReadReg32(RegHadcCtrl);
    Tmp = Tmp + (FIFO_FullLevel << 24);
    Tmp = Tmp + (FIFO_EmptyLevel << 16);
    WriteReg32(RegHadcCtrl, Tmp);

    if (Mode&HadcMode_En)
        HW_HadcEnable();
    else
        HW_HadcDisable();


    return 0;
}


/*---------------------------------------------------------
Name  :  HadcStart
Desc  :  高速ADC进行采样
Params:  Mode:ADC采样的相关模式
   Size:样本个数
   pBuf:目标地址
   CB : 回调函数
Author:  LingZJ
Date  :  070630
-----------------------------------------------------------*/
int HadcStart(UINT32 Mode, UINT32 Size, UINT32*pBuf, HADCCallBack CB)
{
    HadcSet(Mode);
// DmaTransmit(RegHadcData, (UINT32)pBuf, Size-1, DmaHADCCopy, (DMACallBack)CB);
    return 0;
}


⌨️ 快捷键说明

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