排序器可以产生两种中断模式,这由ADCTRL2寄存器中的中断模式使能控制位决定。将例5-2做一些改变,可以用来说明不同条件下如何利用两种中断模式完成任务。如图5-4所示,有三种情形,两种中断模式。
图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。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。