當前位置:編程學習大全網 - 編程語言 - 飛思卡爾智能車電磁組,AD模塊如何入門,常用的語句有哪些,能不能給段有翻譯註釋的程序看看?

飛思卡爾智能車電磁組,AD模塊如何入門,常用的語句有哪些,能不能給段有翻譯註釋的程序看看?

void ADC_init(void){

MCF_GPIO_PANPAR=MCF_GPIO_PANPAR_AN0_AN0 |MCF_GPIO_PANPAR_AN1_AN1 |MCF_GPIO_PANPAR_AN2_AN2 |MCF_GPIO_PANPAR_AN3_AN3;

MCF_ADC_CTRL1=MCF_ADC_CTRL1_STOP0 |MCF_ADC_CTRL1_CHNCFG(0) |MCF_ADC_CTRL1_SMODE(2); //0-壹次性順序掃描;2-循環順序掃描

MCF_ADC_CTRL2=MCF_ADC_CTRL2_DIV(8); AD時鐘不能超過5MHZ

MCF_ADC_ADZCC=0;

MCF_ADC_ADLST1=MCF_ADC_ADLST1_SAMPLE0(0) |MCF_ADC_ADLST1_SAMPLE1(1) |MCF_ADC_ADLST1_SAMPLE2(2) |MCF_ADC_ADLST1_SAMPLE3(3);//采樣輸入通道選擇

MCF_ADC_ADSDIS=MCF_ADC_ADSDIS_DS4;//采樣禁止寄存器,采樣輸入通道2關閉以及所有並發的采樣

MCF_ADC_ADLSTAT=0XFFFF;//限制狀態寄存器

/*高值域和低值域寄存器組*/ MCF_ADC_ADLLMT(0)=MCF_ADC_ADLLMT_LLMT(1500);

MCF_ADC_ADLLMT(1)=MCF_ADC_ADLLMT_LLMT(0);

MCF_ADC_ADLLMT(2)=MCF_ADC_ADLLMT_LLMT(0);

MCF_ADC_ADLLMT(3)=MCF_ADC_ADLLMT_LLMT(0);

MCF_ADC_ADHLMT(0)=MCF_ADC_ADHLMT_HLMT(2500); MCF_ADC_ADHLMT(1)=MCF_ADC_ADHLMT_HLMT(0xFFFF);

MCF_ADC_ADHLMT(2)=MCF_ADC_ADHLMT_HLMT(0xFFFF);

MCF_ADC_ADHLMT(3)=MCF_ADC_ADHLMT_HLMT(0xFFFF);

/*偏移寄存器,偏移寄存器(ADOFSn) 中的值是用來讓原始ADC的值減去的,而結果存放於ADRSLTn寄存器*/ MCF_ADC_ADOFS(0)=MCF_ADC_ADOFS_OFFSET(0);

MCF_ADC_ADOFS(1)=MCF_ADC_ADOFS_OFFSET(0);

MCF_ADC_ADOFS(2)=MCF_ADC_ADOFS_OFFSET(0);

MCF_ADC_ADOFS(3)=MCF_ADC_ADOFS_OFFSET(0);

MCF_ADC_ADZCSTAT=0XFF; MCF_ADC_POWER|=MCF_ADC_POWER_ASB;//功率控制寄存器,自動待命模式使能

}

void ADC_start(void){

MCF_ADC_POWER&=~MCF_ADC_POWER_PD0;//轉換器A會持續提高功率(APD=0) 或根據需要自動提高功率(APD=1)

while(MCF_ADC_POWER&MCF_ADC_POWER_PSTS0) ;//當前ADC轉換器A關閉

MCF_ADC_CTRL1&=~MCF_ADC_CTRL1_STOP0;

MCF_ADC_CTRL1|=MCF_ADC_CTRL1_START0;

}

  • 上一篇:復印掃描儀什麽牌子好?
  • 下一篇:創業需要幾個步驟?
  • copyright 2024編程學習大全網