430 的ADC12IE问题

2019-03-24 13:24发布

在ADC_init()AD初始化函数中打开了ADC12IE中断,在ADC12ISR中断函数中需不需要将ADC12IE关掉?   我的程序出现两个问题: 问题1:如果在#pragma vector=ADC_VECTOR __interrupt void ADC12ISR (void) 中断函数中不把ADC12IE关掉的话,程序不会跳出ADC12ISR中断函数? 问题2:如果在中断函数中把ADC12IE关掉的话,程序跑了一段时间(这个时间不固定)AD就不再采集,LCD也不再刷新?   请大侠们看看是什么原因,谢谢! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
whaidong123
2019-03-24 17:49
< :TI_MSP430_内容页_SA7 --> 首先谢谢您的回复,看了你的关于中断的文章对中断处理过程及优先级有点了解!
还有点疑问:
1、在你的回复中提到我的“中断服务函数中出不来,可能是死循环或系统复位”这点有点不解,因为我的中断服务函数只有简单的2个赋值语句“Result = ADC12MEM0;和Volt=(Result*3.3)/4095”,应该不会出现死循环吧!?,但是程序就是回不到main里执行LCD显示函数Dis_Volt()函数(因为液晶没有显示,我单步调试,进入中断后出不去!);
2、我在中断函数中关闭了ADC12IE,在ADC_init()AD初始化函数有重新打开ADC12IE(ADC12IE |=0x01),但是奇怪的是会出现我前面说的情况:程序跑了一段时间(这个时间不固定)AD就不再采集,LCD也不再刷新!!
注:刚学的430,如有不当,请指正,谢谢!

一周热门 更多>

相关问题

    相关文章