2017-08-03 19 views
0

私は、ARM Cortex M4 mcuと超音波センサーをインターフェースしようとしています。私はセンサのエコーの立ち上がりエッジと立ち下がりエッジとの間の時間を計算するエッジトリガタイマーを使用しているので、エコー入力ピンに割り当てる代替機能は何ですか? 私はhttp://cortex-m.com/tm4c-lessons/に以下の設定を発見した:私は、すべての行を理解するために、データシートを使用しますが、私は理解していない行に対してARM Cortex M4 TM4C123GマイクロコントローラでGPIOポート制御(GPIOPCTL)を使用するには?

void Timer0_init(void) 
{ 
SYSCTL->RCGCTIMER |=(1U<<0); 
SYSCTL->RCGCGPIO |=(1U<<1); 
GPIOB->DIR &=~ECHO; 
GPIOB->DEN |=ECHO; 
GPIOB->AFSEL |=ECHO; 
GPIOB->PCTL &=~0x0F000000; 
GPIOB->PCTL |= 0x07000000; 
TIMER0->CTL &=~1; 
TIMER0->CFG =4; 
TIMER0->TAMR = 0x17; 
TIMER0->CTL |=0x0C; 
TIMER0->CTL |=1; 
} 

を:

GPIOB->PCTL &=~0x0F000000; 
GPIOB->PCTL |= 0x07000000; 

私は、最初の行だけであると思います2番目のラインは周辺機能を選択しますが、PCTLレジスタに7を入力するために使用したピンの設定は何もわかりません。

+0

これらのレジスタは、ARMコアに固有のものではなく、使用しているマイクロコントローラ固有のものです。 –

+0

マイクロコントローラのタイプを追加しました、ありがとうございます。 @EugeneSh。 –

+0

@PeterJ私は本当にあなたのコメントを理解していない! :D –

答えて

1

このレジスタの使用されるビット27:24 688fページdatasheetで説明したように構成されたピンがPB6あるGPIOB->PCTLによれば、ピン6で使用する代替関数を設定するために使用されています。

ここでは、代替機能が設定されている表23-5を参照できます。この場合は、ピン方向と周辺構成に基づいて、PWM、キャプチャまたは比較機能のいずれかであるT0CCP0です。

GPIOB->PCTL &=~0x0F000000;は、他のピンに触れることなく、ピン6機能をリセットするために使用されます。

GPIOB->PCTL |= 0x07000000;は、他のものを変更することなく、ピン6機能を設定します。

関連する問題