Arduinoで遊ぶページ

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

Pmc

概要

Atmel SAM3X8E ARM Cortex-M3プロセッサの電源管理コントローラ(Power Management Controller、PMC)のレジスタを定義する型です。

ソースコード

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

typedef struct {
  WoReg PMC_SCER;      /**< \brief (Pmc Offset: 0x0000) System Clock Enable Register */
  WoReg PMC_SCDR;      /**< \brief (Pmc Offset: 0x0004) System Clock Disable Register */
  RoReg PMC_SCSR;      /**< \brief (Pmc Offset: 0x0008) System Clock Status Register */
  RoReg Reserved1[1];
  WoReg PMC_PCER0;     /**< \brief (Pmc Offset: 0x0010) Peripheral Clock Enable Register 0 */
  WoReg PMC_PCDR0;     /**< \brief (Pmc Offset: 0x0014) Peripheral Clock Disable Register 0 */
  RoReg PMC_PCSR0;     /**< \brief (Pmc Offset: 0x0018) Peripheral Clock Status Register 0 */
  RwReg CKGR_UCKR;     /**< \brief (Pmc Offset: 0x001C) UTMI Clock Register */
  RwReg CKGR_MOR;      /**< \brief (Pmc Offset: 0x0020) Main Oscillator Register */
  RoReg CKGR_MCFR;     /**< \brief (Pmc Offset: 0x0024) Main Clock Frequency Register */
  RwReg CKGR_PLLAR;    /**< \brief (Pmc Offset: 0x0028) PLLA Register */
  RoReg Reserved2[1];
  RwReg PMC_MCKR;      /**< \brief (Pmc Offset: 0x0030) Master Clock Register */
  RoReg Reserved3[1];
  RwReg PMC_USB;       /**< \brief (Pmc Offset: 0x0038) USB Clock Register */
  RoReg Reserved4[1];
  RwReg PMC_PCK[3];    /**< \brief (Pmc Offset: 0x0040) Programmable Clock 0 Register */
  RoReg Reserved5[5];
  WoReg PMC_IER;       /**< \brief (Pmc Offset: 0x0060) Interrupt Enable Register */
  WoReg PMC_IDR;       /**< \brief (Pmc Offset: 0x0064) Interrupt Disable Register */
  RoReg PMC_SR;        /**< \brief (Pmc Offset: 0x0068) Status Register */
  RoReg PMC_IMR;       /**< \brief (Pmc Offset: 0x006C) Interrupt Mask Register */
  RwReg PMC_FSMR;      /**< \brief (Pmc Offset: 0x0070) Fast Startup Mode Register */
  RwReg PMC_FSPR;      /**< \brief (Pmc Offset: 0x0074) Fast Startup Polarity Register */
  WoReg PMC_FOCR;      /**< \brief (Pmc Offset: 0x0078) Fault Output Clear Register */
  RoReg Reserved6[26];
  RwReg PMC_WPMR;      /**< \brief (Pmc Offset: 0x00E4) Write Protect Mode Register */
  RoReg PMC_WPSR;      /**< \brief (Pmc Offset: 0x00E8) Write Protect Status Register */
  RoReg Reserved7[5];
  WoReg PMC_PCER1;     /**< \brief (Pmc Offset: 0x0100) Peripheral Clock Enable Register 1 */
  WoReg PMC_PCDR1;     /**< \brief (Pmc Offset: 0x0104) Peripheral Clock Disable Register 1 */
  RoReg PMC_PCSR1;     /**< \brief (Pmc Offset: 0x0108) Peripheral Clock Status Register 1 */
  RwReg PMC_PCR;       /**< \brief (Pmc Offset: 0x010C) Peripheral Control Register */
} Pmc;

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

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

アドレス(オフセット) レジスタ シンボル 読み書き
0x0000 システムクロック Enable レジスタ PMC_SCER 書き込み専用
0x0004 システムクロック Disable レジスタ PMC_SCDR 書き込み専用
0x0008 システムクロック Status レジスタ PMC_SCSR 読み取り専用
0x000C 予約 - -
0x0010 ペリフェラルクロック Enable レジスタ0 PMC_PCER0 書き込み専用
0x0014 ペリフェラルクロック Disable レジスタ0 PMC_PCDR0 書き込み専用
0x0018 ペリフェラルクロック Status レジスタ0 PMC_PCSR0 読み取り専用
0x001C UTMIクロックレジスタ CKGR_UCKR 読み書き
0x0020 メインオシレータレジスタ CKGR_MOR 読み書き
0x0024 メインクロック周波数レジスタ CKGR_MCFR 読み取り専用
0x0028 PLLAレジスタ CKGR_PLLAR 読み書き
0x002C 予約 - -
0x0030 マスタークロックレジスタ PMC_MCKR 読み書き
0x0034 予約 - -
0x0038 USBクロックレジスタ PCM_USB 読み書き
0x003C 予約 - -
0x0040 プログラマブルクロック0レジスタ PMC_PCK0 読み書き
0x0044 プログラマブルクロック1レジスタ PMC_PCK1 読み書き
0x0048 プログラマブルクロック2レジスタ PMC_PCK2 読み書き
0x004C 予約 - -
0x0050 予約 - -
0x0054 予約 - -
0x0058 予約 - -
0x005C 予約 - -
0x0060 割り込みEnableレジスタ PMC_IER 書き込み専用
0x0064 割り込みDisableレジスタ PMC_IDR 書き込み専用
0x0068 Status レジスタ PMC_SR 読み取り専用
0x006C 割り込みマスクレジスタ PMC_IMR 読み取り専用
0x0070 高速開始モードレジスタ PMC_FSMR 読み書き
0x0074 高速開始極性レジスタ PMC_FSPR 読み書き
0x0078 フォールトアウトプットクリアレジスタ PMC_FOCR 書き込み専用
0x007C-0x00E0 予約 - -
0x00E4 Write Protect Mode レジスタ PMC_WPMR 読み書き
0x00E8 Write Protect Status レジスタ PMC_WPSR 読み取り専用
0x00EC-0X00FC 予約 - -
0x0100 ペリフェラルクロックEnableレジスタ1 PMC_PCER1 書き込み専用
0x0104 ペリフェラルクロックDisableレジスタ1 PMC_PCDR1 書き込み専用
0x0108 ペリフェラルクロックStatusレジスタ1 PMC_PCSR1 読み取り専用
0x010C ペリフェラル制御レジスタ PMC_PCR 読み書き

バージョン

Arduino 1.5



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

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