|
自己编了一个ad的程序,里面有这样一个步骤,可是不知下面系统是怎样执行的,在这里请教一下:
我在中断服务子程序里执行了AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;这样的话应该直接去执行一组转换,转换完成后再执行中断服务子程序,可是问题在于ad中断服务子程序只有一个,也就是说这一组转换结束后会再转回来执行这个子程序,可是这个子程序可能对应上一次中断的还没执行完,那应该怎么执行呢。或者说如果发生了这样的情况,是直接就停止该中断服务程序的执行,去进行转换;还是有可能两个子程序冲突或一齐运行?
我碰到这个情况是因为有两个输入,一个1ms采样,另一个10毫秒采样,我想看看能不能做成前者采满十次后立即装载新的序列,触发第二个转换,我仿真了一下,好像可以用,但是总觉得流程上不对劲。请大侠帮我看看如果写成上面那个样子,到底程序是怎么执行的?谢谢!
|
|