[北京Xunwei] i.MX6ULLターミネーターGPIOクロック

GPIOを使用する場合は、GPIOクロックを有効にする必要があります。i.MX6 ULLの各ペリフェラルのクロックを個別に有効にでき、使用していないペリフェラルクロックをオフにできるため、省エネの目的を達成できます。周辺機器を使用する場合は、対応するクロックをオンにする必要があります。「I.MX6ULLリファレンスマニュアル」の第18章「クロックコントローラモジュール(CCM)」は、i.MX6ULLクロックの説明であり、この章では、周辺クロックの有効化レジスタを見ることができます。周辺クロックイネーブルに関連するレジスタは次の
とおり





です。CCM_CCGR0 CCM_CCGR1 CCM_CCGR2 CCM_CCGR3 CCM_CCGR4 CCM_CCGR5 CCM_CCGR6
合計で7 つあります。CCM_CCGR0レジスタがペリフェラルクロックを有効にする方法を見てみましょう、このレジスタの説明を図1に示します。
ここに画像の説明を挿入

図1

上の図から、CCM_CCGR0レジスタは32ビットであり、2ビットごとにペリフェラルクロックを制御していることがわかります。たとえば、bit1:bit0はaips_tz1のクロックを制御し、2ビットの動作は次のとおりです。00
//すべてのモードでペリフェラルクロックをオフにする
01 //実行モードでのみ周辺クロックを有効にする
10 //予約
11 //ストップモードを除き、すべてのモードでクロックがオンになる

aips_tz1のペリフェラルクロックをオンにする場合は、CCM_CCGR0のビット1とビット0の両方を1に、つまりCCM_CCGR0 = 3に設定する必要があります。aips_tz1のペリフェラルクロックがオフの場合、CCM_CCGR0のビット1とビット0は両方とも0に設定されます。

これらの7つのレジスタCCM_CCGR0-CCM_CCGR6の機能は類似しており、各2ビットがペリフェラルのクロックを制御します。開発を容易にするために、以下のルーチンですべてのペリフェラルクロックを有効にします。これまでのところ、GPIOの動作を次の手順に要約できます
。1. GPIOに対応するクロックを有効にします
。2. IOMUXC_SW_MUX_CTL_PAD_XX_XXレジスタを設定し、対応するIOをGPIO関数に
設定します。3. IOMUXC_SW_PAD_CTL_PAD_XX_XXレジスタを設定し、GPIOのプルアップとプルダウンを設定し、ドライブします。能力
4.入力または出力、割り込みを使用するかどうか、およびデフォルトの出力レベルを設定する

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/BeiJingXunWei/article/details/108529687