📄 zl_adc.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -