步骤:
1.对AD模块进行复位。注:这个步骤在大部分例程里没看到,但是我下载的例程本身有这一句,从逻辑上讲这一句代码是非常有必要的。
AdcRegs.ADCTRL1.all = ADC_RESET_FLAG; // Reset the ADC Module,复位整个ADC模块
asm(" NOP "); // 指汇编指令nop,即空操作,执行时间为一个时钟周期时间。
asm(" NOP ");
2.使能AD时钟以及执行ADC_cal():执行ADC_cal()函数是TI官方要求的,固定写法。
EALLOW;
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1;
ADC_cal();
EDIS;
3.对ADC模块三个关键的寄存器ADCTRL1,ADCTRL2,ADCTRL3进行设置:
(1)ADCTRL1设置:
- SEQ_CASC 排序器模式:级联排序器模式;
- SEQ_OVER 排序器运行方式:转换完MAX_CONVn个通道后,排序器指针复位到初始状态;(注:这一寄存器的设置

本文详细介绍了在F28335 DSP中,如何利用ePWM启动AD模块进行转换。内容涵盖AD模块复位、时钟使能、寄存器设置、采样模式、通道配置、中断处理以及ePWM模块的配置。在调试过程中,作者解决了AD采样结果异常和转换值偏差的问题,强调了AD模块时钟频率限制和初始化顺序的重要性。
最低0.47元/天 解锁文章
1000

被折叠的 条评论
为什么被折叠?



