首页 理论教育 排序器转换:如何避免中断操作?

排序器转换:如何避免中断操作?

更新时间:2025-01-10 工作计划 版权反馈
【摘要】:排序器可以产生两种中断模式,这由ADCTRL2寄存器中的中断模式使能控制位决定。图5-4 排序转换中的中断操作模式第一种情形两次采样的采样数不一样。1)排序器被初始化成MAX CONVn=1,先转换I1、I2。4)重复2)和3)的过程。注意每次SEQ CNTRn计到0时中断标志位都变成1,因而有两次中断响应。2)在ISR“b”中,从ADC结果寄存器中读出I1、I2、x、V1、V2、V3的值,随后复位排序器。

排序器可以产生两种中断模式,这由ADCTRL2寄存器中的中断模式使能控制位决定。将例5-2做一些改变,可以用来说明不同条件下如何利用两种中断模式完成任务。如图5-4所示,有三种情形,两种中断模式。

978-7-111-36250-0-Chapter05-9.jpg

图5-4 排序转换中的中断操作模式

(1)第一种情形

两次采样的采样数不一样。模式l中断操作(即每次EOS都产生中断)。

1)排序器被初始化成MAX CONVn=1,先转换I1、I2

2)在ISR(中断服务程序)“a”中,用户软件将MAX CONVn改成2,转换V1、V2、V3。

3)在ISR“b”中,将MAX CONVn改回1,从ADC结果寄存器中读出I1、I2、V1、V2、V3的值,随后复位排序器。

4)重复2)和3)的过程。注意每次SEQ CNTRn计到0时中断标志位都变成1,因而有两次中断响应。

(2)第二种情形(www.xing528.com)

两次采样的采样数一样。模式2中断操作(即每两次EOS产生1个中断)。

1)排序器被初始化成MAX CONVn=2,以转换I1、I2、I3或V1、V2、V3

2)在ISR“b”中,从ADC结果寄存器中读出I1、I2、I3、V1、V2、V3的值,随后复位排序器。

3)重复2)的过程。

(3)第三种情形

两次采样的采样数一样(虚读)。模式2中断操作(即每两次EOS产生一个中断)

1)排序器被初始化成MAX CONVn=2,以转换I1、I2、x。

2)在ISR“b”中,从ADC结果寄存器中读出I1、I2、x、V1、V2、V3的值,随后复位排序器。

3)重复2)的过程。注意采样x是一个假采样,并不真要采样此值,只不过是为了减小ISR和CPU的负担,不在ISR中修改MAX CONVn。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈