完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
用28335在编写adc的采集程序,但是采集到的电压总是3.0V,想请各位给看看,问题是出在了哪里,现附上adc配置程序: void main(void) { InitSysCtrl(); InitEPwm1Gpio(); EALLOW; #define ADC_MODCLK 0x3 SysCtrlRegs.HISPCP.all = ADC_MODCLK; EDIS; DINT; InitPieCtrl(); IER = 0x0000; IFR = 0x0000; InitPieVectTable(); EALLOW; PieVectTable.ADCINT = &adc_isr; EDIS; EALLOW; SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; EDIS; InitEPwm1Example(); InitAdc(); EALLOW; SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; EDIS; IER |= M_INT1; PieCtrlRegs.PIEIER1.bit.INTx6 = 1; EINT; ERTM; kk=ii=0; Uinput=8; kp1=0.1;ki1=0.3; kp2=0.1;ki2=0.3; ek=ek1=0; uk=0; uk1=250; AdcRegs.ADCREFSEL.bit.REF_SEL=1; AdcRegs.ADCTRL1.bit.ACQ_PS = 0x4;//采样窗口预定标=ADCLK*(ACQ_PS+1) AdcRegs.ADCTRL3.bit.ADCCLKPS =0x0;//高速外设时钟预定标系数 AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; // 级联排序 AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 0x1;//允许SEQ1中断 AdcRegs.ADCTRL2.bit.RST_SEQ1 = 0x1;//复位SEQ1 AdcRegs.ADCMAXCONV.all = 0x0001; // Setup 2 conv's on SEQ1 AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; // Setup ADCINA3 as 1st SEQ1 conv. AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1; AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1 = 1;// Enable SOCA from ePWM to start SEQ1 AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; // Enable SEQ1 interrupt (every EOS) for(;;) { asm(" NOP"); } } |
|
相关推荐
2个回答
|
|
你的程序没有AD采样的中断服务子程序,
|
|
|
|
硬件电路图看看,采样和调理电路是怎么样的
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于 DSP5509 进行数字图像处理中 Sobel 算子边缘检测的硬件连接电路图
3280 浏览 0 评论
800 浏览 0 评论
普中科技F28335开发板中,如何使用aic23播放由代码生成的正弦波
3715 浏览 0 评论
4469 浏览 1 评论
1386 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 17:24 , Processed in 0.624034 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号