zl_adc.c

来自「DSP2812用于电机双闭环控制的程序」· C语言 代码 · 共 18 行

C
18
字号
#include "DSP28_Device.h"

void adc(void){
// 配置 ADC 
    AdcRegs.ADCMAXCONV.all = 0x0001;        // 设置SEQ1的2个转化通道
    AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0; // 设置SEQ1的 ADCINA0 作为第一转换通道
    AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 1; // 设置SEQ1的 ADCINA1 作为第二转换通道
  
    AdcRegs.ADCTRL1.bit.ACQ_PS = 9;         //10ADCLK 
    AdcRegs.ADCTRL1.bit.CPS = 0;            //(HSPCLK/1)/1=25MHz
    AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1 = 1;   // 使能 EVASOC 去启动 SEQ1
    AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1;   // 使能 SEQ1 中断 (每次 EOS)
    AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1 = 1;   // 中断INT SEQ1在每隔一个SEQ1序列结束时置1
    AdcRegs.ADCTRL3.bit.ADCCLKPS = 0;       //ADCCLKPS=HSPCLK/(0+1)=25MHz    
   // 配置 EVA
   // 假设EVA已经在 InitSysCtrl()中使能;
    EvaRegs.GPTCONA.bit.T1TOADC = 1;       // 使能EVA中的 EVASOC(定时器1下溢中断启动ADC)
  }

⌨️ 快捷键说明

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