Board logo

标题: [求助]AD问题 [打印本页]

作者: yaoxiangtao    时间: 2007-7-17 10:59     标题: [求助]AD问题

芯片使用 HCS08GB60
外部晶振 4MHz
程序

main{
ATD1PE = 0x01; /* Write breaks the conversion */
ATD1C = 0xA0; /* Write breaks the conversion */
ATD1SC = 0x40; /* Write starts a new conversion */
for(;;) {
__RESET_WATCHDOG(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave main */
}

interrupt 23 void Vatd1_isr(void)
{
result = ATD1RH; /* Read result and acknowledge interrupt */
ATD1SC = ATD1SC; /* Re-Start Conversion for Ch1 */
}

能进中断,但是结果一致为0

作者: strongchen    时间: 2007-7-18 10:09

能进中断吗?似乎少了一句EnableInterrupts;吧。另外,检查一下AD的参考电平和电源脚的连接。
作者: strongchen    时间: 2007-7-18 10:23

你也可以试一下在AD中断中先读ATD1RH,再读一下ATD1RL(虽然你不用它)。
作者: yaoxiangtao    时间: 2007-7-19 11:52

谢版主~
开中断的语句有的~
问题找到:参考电平出了问题~
作者: wangyj    时间: 2007-7-19 15:06

读完ATD1RH,最好再读一下ATD1RL。

另外请问:参考电平在哪儿设置呢?
作者: strongchen    时间: 2007-7-19 15:17

参考电平是外部硬件电路连接,不用软件设置。
作者: wangyj    时间: 2007-7-23 08:56

感谢strongchen!




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0