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

📄 dac.h

📁 ARM入门的好帮手.包含了从简单到相对较复杂的程序.
💻 H
字号:
//*---------------------------------------------------------------------------
//*         ATMEL Microcontroller Software Support  -  ROUSSET  -
//*---------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*-----------------------------------------------------------------------------
//* File Name           : dac.h
//* Object              : Digital to Analog Converter Definition File
//*
//* 1.0 25/08/00 JPP    : Creation
//* 2.0 10/12/01 PFi    : Data Pointer/Counter Registers in the StructDAC
//*                     : has been removed.The RevA of the M558000 does not
//*                     : features DAC PDC.
//*---------------------------------------------------------------------------

#ifndef dac_h
#define dac_h

/*--------------------------*/
/* DAC Structure Definition */
/*--------------------------*/

typedef struct
{
    at91_reg        DAC_CR ;            /* Control Register */
    at91_reg        DAC_MR ;            /* Mode Register */
    at91_reg        DAC_DHR ;           /* Data Holding Register */
    at91_reg        DAC_DOR ;           /* Data Output Register */
    at91_reg        DAC_SR ;            /* Status Register */
    at91_reg        DAC_IER ;           /* Interrupt Enable Register */
    at91_reg        DAC_IDR ;           /* Interrupt Disable  Register */
    at91_reg        DAC_IMR ;           /* Interrupt Mask Register */
} StructDAC ;

/*--------------------------*/
/* DAC_CR: Control Register */
/*--------------------------*/

#define DAC_SWRST       (1<<0)          //* Reset the DAC
#define DAC_LOOPEN      (1<<1)          //* Automatic reaload
#define DAC_LOOPDIS     (1<<2)          //* WAVEND interrupt at the end of PDC

/*-----------------------*/
/* DAC_MR: Mode Register */
/*-----------------------*/

#define DAC_TTRGEN_DIS      0x0         /* Trigger Disable */
#define DAC_TTRGEN_EN       0x1         /* Trigger Enable */
/* Trigger Selection */
#define DAC_B_TTRGSEL       1
#define DAC_TTRGSEL         (7<<DAC_B_TTRGSEL)  /* TIOA0 Trigger Selection */
#define DAC_TRG_TIOA0       (0<<DAC_B_TTRGSEL)  /* TIOA1 Trigger Selection */
#define DAC_TRG_TIOA1       (1<<DAC_B_TTRGSEL)  /* TIOA2 Trigger Selection */
#define DAC_TRG_TIOA2       (2<<DAC_B_TTRGSEL)  /* TIOA3 Trigger Selection */
#define DAC_TRG_TIOA3       (3<<DAC_B_TTRGSEL)  /* TIOA4 Trigger Selection */
#define DAC_TRG_TIOA4       (4<<DAC_B_TTRGSEL)  /* TIOA5 Trigger Selection */
#define DAC_TRG_TIOA5       (5<<DAC_B_TTRGSEL)  /* External Trigger Selection */

#define DAC_10_BIT_RES      (0<<4)      /* 10 bits DAC Resolution */
#define DAC_8_BIT_RES       (1<<4)      /*  8 bits DAC Resolution */

/*----------------------------------------------------------*/
/* DAC_DHR, DAC_DOR: Data Holding and Data Output Registers */
/*----------------------------------------------------------*/

#define DAC_DATA_10BITS    0x3FF
#define DAC_DATA_8BITS     0x0FF

/*---------------------------------------------------------------*/
/* DAC_SR,DAC_IER,DAC_IDR,DAC_IMR: Status and Interrupt Register */
/*---------------------------------------------------------------*/

#define DAC_DATRDY          (1<<0)          //* End transfert
#define DAC_WAVEND          (1<<1)          //* End wave generation
#define DAC_LOOP            (1<<16)         //* Loop mode Status register only

#endif /* dac_h */

⌨️ 快捷键说明

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