adc.c

来自「开源的国外AT91SAM7S64开发板」· C语言 代码 · 共 28 行

C
28
字号
//adc.c
#include "adc.h"

AT91PS_ADC a_pADC = AT91C_BASE_ADC;
AT91PS_PMC a_pPMC = AT91C_BASE_PMC;


void InitADC(void) {

  //a_pPMC->PMC_PCER = 1 << AT91C_ID_ADC;
  a_pADC->ADC_CR = 0x2;   // set Start Bit
  a_pADC->ADC_MR = 0x3f00;   // set mode register, 10bit chanel, MCK/128
  a_pADC->ADC_CHER = 0x30; // enable chanel 4 and 5

}


unsigned int GetValue_chanel4() {
  a_pADC->ADC_CR = 0x2; // set Start Bit
  while(!(a_pADC->ADC_SR&0x10)); //wait until conversion complete
  return a_pADC->ADC_CDR4;
}

unsigned int GetValue_chanel5() {
  a_pADC->ADC_CR = 0x2; // set Start Bit
  while(!(a_pADC->ADC_SR&0x20)); //wait until conversion complete
  return a_pADC->ADC_CDR5;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?