1

Teensy 3.1 の ARM Cortex M4 MK20DX256VLH7 で ADC を初期化する方法を理解しようとしています。以下の記号が何を意味するかについて、用語と関連する検索用語に興味があります。&= ~(3<<18)、これはビット単位の NOT(3 ビット単位の左シフト 18) のビット単位の AND として解釈されますが、私にとってはほとんど意味がありません。BIN 11括弧内は へのシフトと解釈しBIN 11000000000000000000ます。PINMODE1 へのポインター逆参照が発生していて (これは私には少しあいまいです)、チップ上のピン 25 を ADC 入力として初期化していることを理解していますか? これを解析する能力にまったく自信がありません。お知らせ下さい。お時間をいただきありがとうございます。

void ADC_Init (void) {

  LPC_PINCON->PINMODE1 &= ~(3<<18);      /* P0.25                             */
  LPC_PINCON->PINMODE1 |=  (1<<18);      /* has neither pull-up nor pull-down */
  LPC_PINCON->PINSEL1  &= ~(3<<18);      /* P0.25 is GPIO                     */
  LPC_PINCON->PINSEL1  |=  (1<<18);      /* P0.25 is AD0.2                    */

  LPC_SC->PCONP       |=  (1<<12);      /* Enable power to ADC block          */

  LPC_ADC->ADCR        =  (1<< 2) |     /* select AD0.2 pin                   */
                          (4<< 8) |     /* ADC clock is 25MHz/5               */
                          (1<<16) |     /* Burst mode                         */
                          (1<<21);      /* enable ADC                         */ 

//  LPC_ADC->ADINTEN     =  (1<< 8);      /* global enable interrupt            */

//  NVIC_EnableIRQ(ADC_IRQn);             /* enable ADC Interrupt               */
}
4

0 に答える 0