2812adc采样程序.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2812adc采样程序

本程序采用EVA中断启动ADC转换,级联模式6通道顺序采样: DSP28_Adc.c: ? void InitAdc(void) { ? ?unsigned int i;? ?? ? ?AdcRegs.ADCTRL1.bit.RESET=1; ?asm( RPT # 10 || NOP); //等待12个周期,复位adc模块 ?AdcRegs.ADCTRL3.bit.ADCBGRFDN=3; ?for(i=0;i10000;i++)?asm( NOP); // 能带隙和参考电路上电 ?AdcRegs.ADCTRL3.bit.ADCPWDN=1; ?for(i=0;i5000;i++)?asm( NOP);? // 内核内的模拟电路上电 ?AdcRegs.ADCTRL3.bit.ADCCLKPS=15;? //核时钟分频器 ?AdcRegs.ADCTRL3.bit.SMODE_SEL=0;? //顺序采样模式 ? ?AdcRegs.ADCTRL1.bit.RESET=0; ?AdcRegs.ADCTRL1.bit.SUSMOD=3;//仿真挂起时,序列发生器和其他轮询程序逻辑立即停止 ?AdcRegs.ADCTRL1.bit.ACQ_PS=0; //控制SOC脉宽 ?AdcRegs.ADCTRL1.bit.CPS=0;? //内核时钟预分频 ?AdcRegs.ADCTRL1.bit.CONT_RUN=0;? //启动停止模式到达EOS后序列发生器停止 ?AdcRegs.ADCTRL1.bit.SEQ_CASC=1;? //级联模式,SEQ1和SEQ2作为单个16状态序列发生器工作 ? ?AdcRegs.MAX_CONV.bit.MAX_CONV=0x0005;? ?????? ??? AdcRegs.CHSELSEQ1.bit.CONV00=0x0; 牋? AdcRegs.CHSELSEQ1.bit.CONV01=0x1; 牋?AdcRegs.CHSELSEQ1.bit.CONV02=0x2; 牋?AdcRegs.CHSELSEQ1.bit.CONV03=0x3;牋牋 牋?AdcRegs.CHSELSEQ2.bit.CONV04=0x4; 牋?AdcRegs.CHSELSEQ2.bit.CONV05=0x5; 牋 燗dcRegs.ADCTRL2.bit.EVB_SOC_SEQ=0; 燗dcRegs.ADCTRL2.bit.RST_SEQ1=0; 燗dcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1; 燗dcRegs.ADCTRL2.bit.INT_MOD_SEQ1=0; 燗dcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=1; 燗dcRegs.ADCTRL2.bit.EXT_SOC_SEQ1=0; 燗dcRegs.ADCTRL2.bit.RST_SEQ2=0; 燗dcRegs.ADCTRL2.bit.SOC_SEQ2=0; 燗dcRegs.ADCTRL2.bit.INT_ENA_SEQ2=0; ?AdcRegs.ADCTRL2.bit.INT_MOD_SEQ2=0; ?AdcRegs.ADCTRL2.bit.EVB_SOC_SEQ2=0; //?AdcRegs.ADCTRL2.bit.SOC_SEQ1=1; ?//使能ADC中断 ?PieCtrl.PIEIER1.bit.INTx6=1; ?IER |= M_INT1; }? ?AD.c文件: #include DSP28_Device.h unsigned int Send_Flag; unsigned int i; char *strg=abcd; float ad[6]={0,1,2,3,4,5}; float adclo=0.0; int ad_freq=0; void DelayNmSec(int N) { 爑nsigned int j; 爓hile(N--) 爁or(j=0;j65535;j++); } interrupt void T2PINT_ISR(void) { 牋length=5; 牋length--; 牋Tx=(unsigned char*)strg; 牋牋牋 牋if(length0)牋?SciaRegs.SCITXBUF=*Tx++; 牋else牋 牋爗 牋牋length=0; 牋爙牋 牋EvaRegs.EVAIMRB.bit.T2PINT=1;//中断允许? ??EvaRegs.EVAIFRB.bit.T2PINT=1;//清除中断标志 ??PieCtrl.PIEACK.bit.ACK3=1;//向cpu申请中断??? } inter

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档