智能车制作

标题: AD转换调试--很简单,期待高手 [打印本页]

作者: 风少    时间: 2012-5-4 17:45
标题: AD转换调试--很简单,期待高手
本帖最后由 风少 于 2012-5-4 17:47 编辑

#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
  uint tuoluo1;
//此程序要在中断中运行
void dianciAD_init()
{
  ATD0DIEN=0X00;
  ATD0CTL1=0X00; //分辨率为8位
  ATD0CTL2=0X00; //AFFC=1快速清除转换完成标志位  禁止中断
  ATD0CTL3=0X88;//右对齐,每个序列1个通道
  ATD0CTL4=0X03;// 此处采样时间4个周期 频率为总线1/8 这个地方应该不重要吧?
  ATD0CTL5=0X20;//通道0连续采样
}
void main(void) {
  /* put your own code here */
  dianciAD_init();

// EnableInterrupts;

  for(;;)
  {
    while(!ATD0STAT2_CCF0);
    tuoluo1=ATD0DR0L;
}}
为什么在调试的时候tuoluo1这个变量会变(陀螺仪不动,按理说应该出现一个定值),我单步调试的时候有时候会出现0,有时候会在220左右,为什么会出现0啊?难道结果寄存器会清零吗?
期待高手……

作者: 清水闲人    时间: 2012-5-4 19:58
这是你的寄存器操作不正确,再看看datasheet吧
作者: 风少    时间: 2012-5-4 20:08
能说具体一点吗?我这个初始化已经看了很多遍了
作者: 风少    时间: 2012-5-5 22:07
哈哈,终于搞出来了,原来单片机没接地




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2