网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> 代码示例 >> TI DSP代码示例 >> C2000 >> 文章正文
  TMS320F2812的ADC模块用于采样过程的初始化代码(二)         ★★★ 【字体:
TMS320F2812的ADC模块用于采样过程的初始化代码(二)
作者:code    文章来源:本站    点击数:    更新时间:2007-5-9    
 

void InitEv(void)
{
EvaRegs.T1CMPR = 0x0000;
EvaRegs.T1PR = 75; //2MHZ的采样频率
EvaRegs.GPTCONA.bit.T1TOADC = 2; //使能事情管理器A,周期中断启动ADC
EvaRegs.T1CON.all = 0x1042;
}
interrupt void ADInterrupt(void)
{
IFR = 0x0000;
//-------------------------------------
ADTemp[ADTempIndex] = (unsigned char)((AdcRegs.RESULT0)>>8);
ADTempIndex = (ADTempIndex+1)&0x01;
Value = ADTemp[0] + ADTemp[1];

if(++aa > 1000000)
{
aa = 0;
LED3 = ~LED3;
}
//-------------------------------------
AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR = 1; //清除INT_SEQ1中断标志
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; //复位SEQ1序列
PieCtrl.PIEACK.all = 0xFFFF; //允许再次响应中断
}

void main(void)
{
InitSysCtrl(); //初始化系统

DINT; //屏蔽全局中断
IER = 0x0000; //禁止所有中断
IFR = 0x0000; //清除所有中断标志

InitPieCtrl(); //初始化PIE中断
InitPieVectTable(); //初始化PIE中断矢量表
InitGpio(); //初始化通用IO口
InitSci(); //初始化SCIA寄存器,即初始化串口

EALLOW; //允许操作寄存器
PieVectTable.ADCINT = &ADInterrupt; //设置ADC中断入口地址
EDIS; //禁止操作寄存器

InitAdc(); //初始化ADC寄存器
IER |= M_INT1; //使能CPU中断1,即第一组PIE中断,共12组PIE中断
InitEv(); //初始化事件触发器A,用于定时采样

EINT; //使能全局中断
ERTM; //Enable Global realtime interrupt DBGM

while(1)
{
SendToPC(ASCIIBuffer,100,'U');
Delay();
}
}

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    基于DSP的电子节气门PID控制
    基于DSP的多路音/视频采集处…
    低功耗实时可编程DSP数字助听…
    基于DSP+CPLD的断路器智能控…
    基于DSP+CPLD的交流电机调速…
    基于DSP的分布式微机保护测控…
    基于DSP的语音实时变速系统设…
    以ARM和DSP嵌入式系统为核心…
    基于双DSP的运动目标智能跟踪…
    高性能定点DSP位处理单元(BM…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号