最近想实现一下DSP的PWM中断触发ADC采样的功能。但是在这个里面留有几个疑问。

首先是事件触发寄存器(ETSEL)能够选择三个类型的中断来源,

1、INTEN 使能 ePWM的中断,INTSEL选择中断发生条件

2、SOCAEN 实能 ePWMSOCA的产生,SOCASEL选择信号产生条件

3、SOCBEN 实能 ePWMSOCB的产生,SOCBSEL选择信号产生条件

第一个是ePWM中断产生的来源,第二个第三个是采样信号SOC信号产生,这两个还是有区别的。

具体表现在:ePWM产生的中断事件能够赋予函数,可在中断内实现多种功能,事实上ePWM的中断是DSP最重要的几个中断之一,而SOCA\SOCB仅为激活ADC采样模块的信号,无法在其中赋予函数实现特定的功能。

因此可以看到成熟的代码里面,对于EPWM的配置是这样的,

在EPWM的初始化函数里写:

在ADC采样初始化函数里面写:

这两个是分开来进行的,并在EPWM中断内调用ADC采样结果:

 

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐