Arduinoで遊ぶページ

Arduinoで遊んだ結果を残すページです。
garretlab
Adc

Adc

概要

Atmel SAM3X8E ARM Cortex-M3プロセッサのアナログ・デジタルコンバータ(Analog-to-Digital Converter、ADC)のレジスタを定義する型です。

SAM3X8Eプロセッサには、12個のADCがあります。

ソースコード

Adcは、hardware/arduino/sam/system/CMSIS/Device/ATMEL/sam3xa/include/component/component_adc.h に定義されています。以下に全ソースコードを示します。ソースコードのライセンスはこちら

typedef struct {
  WoReg ADC_CR;        /**< \brief (Adc Offset: 0x00) Control Register */
  RwReg ADC_MR;        /**< \brief (Adc Offset: 0x04) Mode Register */
  RwReg ADC_SEQR1;     /**< \brief (Adc Offset: 0x08) Channel Sequence Register 1 */
  RwReg ADC_SEQR2;     /**< \brief (Adc Offset: 0x0C) Channel Sequence Register 2 */
  WoReg ADC_CHER;      /**< \brief (Adc Offset: 0x10) Channel Enable Register */
  WoReg ADC_CHDR;      /**< \brief (Adc Offset: 0x14) Channel Disable Register */
  RoReg ADC_CHSR;      /**< \brief (Adc Offset: 0x18) Channel Status Register */
  RoReg Reserved1[1];
  RoReg ADC_LCDR;      /**< \brief (Adc Offset: 0x20) Last Converted Data Register */
  WoReg ADC_IER;       /**< \brief (Adc Offset: 0x24) Interrupt Enable Register */
  WoReg ADC_IDR;       /**< \brief (Adc Offset: 0x28) Interrupt Disable Register */
  RoReg ADC_IMR;       /**< \brief (Adc Offset: 0x2C) Interrupt Mask Register */
  RoReg ADC_ISR;       /**< \brief (Adc Offset: 0x30) Interrupt Status Register */
  RoReg Reserved2[2];
  RoReg ADC_OVER;      /**< \brief (Adc Offset: 0x3C) Overrun Status Register */
  RwReg ADC_EMR;       /**< \brief (Adc Offset: 0x40) Extended Mode Register */
  RwReg ADC_CWR;       /**< \brief (Adc Offset: 0x44) Compare Window Register */
  RwReg ADC_CGR;       /**< \brief (Adc Offset: 0x48) Channel Gain Register */
  RwReg ADC_COR;       /**< \brief (Adc Offset: 0x4C) Channel Offset Register */
  RoReg ADC_CDR[16];   /**< \brief (Adc Offset: 0x50) Channel Data Register */
  RoReg Reserved3[1];
  RwReg ADC_ACR;       /**< \brief (Adc Offset: 0x94) Analog Control Register */
  RoReg Reserved4[19];
  RwReg ADC_WPMR;      /**< \brief (Adc Offset: 0xE4) Write Protect Mode Register */
  RoReg ADC_WPSR;      /**< \brief (Adc Offset: 0xE8) Write Protect Status Register */
  RoReg Reserved5[5];
  RwReg ADC_RPR;       /**< \brief (Adc Offset: 0x100) Receive Pointer Register */
  RwReg ADC_RCR;       /**< \brief (Adc Offset: 0x104) Receive Counter Register */
  RoReg Reserved6[2];
  RwReg ADC_RNPR;      /**< \brief (Adc Offset: 0x110) Receive Next Pointer Register */
  RwReg ADC_RNCR;      /**< \brief (Adc Offset: 0x114) Receive Next Counter Register */
  RoReg Reserved7[2];
  WoReg ADC_PTCR;      /**< \brief (Adc Offset: 0x120) Transfer Control Register */
  RoReg ADC_PTSR;      /**< \brief (Adc Offset: 0x124) Transfer Status Register */
} Adc;

WoReg、RoReg、RwRegはレジスタの読み書き可能性に応じて定義される型です。

Adcレジスタでは、以下の制御を行うことができます。

アドレス(オフセット) レジスタ シンボル 読み書き
0x00 制御レジスタ ADC_CR 書き込み専用
0x04 モードレジスタ ADC_MR 読み取り専用
0x08 チャネルシーケンスレジスタ1 ADC_SEQR1 読み取り専用
0x0C チャネルシーケンスレジスタ2 ADC_SEQR2 読み取り専用
0x10 チャネル Enable レジスタ ADC_CHER 書き込み専用
0x14 チャネル Disable レジスタ ADC_CHDR 書き込み専用
0x18 チャネル Status レジスタ ADC_CHSR 読み取り専用
0x1C 予約 - -
0x20 最新変換データレジスタ ADC_LCDR 読み取り専用
0x24 割り込み Enable レジスタ ADC_IER 書き込み専用
0x28 割り込み Disable レジスタ ADC_IDR 書き込み専用
0x2C 割り込みマスクレジスタ ADC_IMR 読み取り専用
0x30 割り込み状態レジスタ ADC_ISR 読み取り専用
0x34 予約 - -
0x38 予約 - -
0x3C オーバーラン状態レジスタ ADC_OVER 読み取り専用
0x40 拡張モードレジスタ ADC_EMR 読み書き
0x44 比較ウインドウレジスタ ADC_CWR 読み書き
0x48 チャネルゲインレジスタ ADC_CGR 読み書き
0x4C チャネルオフセットレジスタ ADC_COR 読み書き
0x50 チャネルデータレジスタ0 ADC_CDR0 読み取り専用
0x54 チャネルデータレジスタ1 ADC_CDR1 読み取り専用
0x8C チャネルデータレジスタ15 ADC_CDR15 読み取り専用
0x90 予約 - -
0x94 アナログ制御レジスタ ADC_ACR 読み書き
0x98-0xE0 予約 - -
0xE4 Write Protect Mode レジスタ ADC_WPMR 読み書き
0xE8 Write Protect Status レジスタ ADC_WPSR 読み取り専用
0xEC-0X00FC 予約 - -

バージョン

Arduino 1.5



メニューを表示するためにJavaScriptを有効にしてください。

Arduinoで遊ぶページ
Copyright © 2013 garretlab all rights reserved.
inserted by FC2 system