📄 ad.c
字号:
#include "Ad.h"
#include "DSP281x_PieCtrl.h"
extern void DSP28x_usDelay(Uint32 Count);
void InitAd()
{
//上电
AdcRegs.ADCTRL3.bit.ADCBGRFDN = 0x3;
DELAY_US(8000);
AdcRegs.ADCTRL3.bit.ADCPWDN = 1;
DELAY_US(20);
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; //使能SEQ1中断
AdcRegs.ADCTRL3.bit.SMODE_SEL = 0; //
AdcRegs.ADCTRL1.bit.CPS = 1; //时钟2分频
AdcRegs.ADCTRL3.bit.ADCCLKPS = 1; //时钟2分频
AdcRegs.ADCTRL1.bit.ACQ_PS = 4; //脉冲宽度ADCLK的5倍
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; //级联方式
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 0x7; //一个转换周期转换8个数据
AdcRegs.ADCCHSELSEQ1.all = 0x0; //通道选择0-3
AdcRegs.ADCCHSELSEQ2.all = 0x0; //通道选择4-7
}
interrupt void ADCINT_ISR(void)
{
Uint16 Result[8];
Uint16 i = 0;
Result[i++] = AdcRegs.ADCRESULT0;
Result[i++] = AdcRegs.ADCRESULT1;
Result[i++] = AdcRegs.ADCRESULT2;
Result[i++] = AdcRegs.ADCRESULT3;
Result[i++] = AdcRegs.ADCRESULT4;
Result[i++] = AdcRegs.ADCRESULT5;
Result[i++] = AdcRegs.ADCRESULT6;
Result[i++] = AdcRegs.ADCRESULT7;
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; //清中断
PieCtrlRegs.PIEACK.bit.ACK1 = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -