智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 889|回复: 0
打印 上一主题 下一主题

电磁求救

[复制链接]

4

主题

12

帖子

0

精华

注册会员

Rank: 2

积分
117
威望
75
贡献
26
兑换币
30
注册时间
2015-6-8
在线时间
8 小时
毕业学校
烟台职业学院
跳转到指定楼层
1#
发表于 2015-7-16 21:33:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的小车不检测电磁 而且 舵机时而动时而不动,是不是AD的原因? 急死了,谢谢你们!
#include "include.h"
/*****************AD初始化***********************/
void ATD_Init(void)
{   
  ATD0CTL1=0x00;//7:1-外部触发,65:00-8位精度,4:放电,3210:ch         /an0 触发 12位精度     
  ATD0CTL2=0XC0;//禁止AD 快速清零
  ATD0CTL3=0XC0;//右对齐 每次转换8个序列, No FIFO, Freeze模式下继续转                             
  ATD0CTL4=0X03; //采集到模拟量 十位二进制 采样2AD 时钟周期 (13m)        
  ATD0CTL5= 0X30;//BIT6:0特殊通道禁止  BIT5:1连续转换  BIT4:1多通道轮流采样         
  ATD0DIEN=0x00;  
}

int Read_ATD(char ch)
{
  int ATD_Value,ad_L=0,ad_H;
  while(!ATD0STAT0_SCF);
  switch(ch)
  {
    case 0:
      ad_L= ATD0DR0L;
            ad_H= ATD0DR0H;
    break;
    case 1:

      ad_L= ATD0DR1L;
      ad_H= ATD0DR1H;
    break;
    case 2:
      ad_L= ATD0DR2L;
      ad_H= ATD0DR2H;
    break;
    case 3:
      ad_L= ATD0DR3L;
      ad_H= ATD0DR3H;
    break;
    case 4:
      ad_L= ATD0DR4L;
      ad_H= ATD0DR4H;
    break;
    case 5:
      ad_L= ATD0DR5L;
      ad_H= ATD0DR5H;
    break;
    case 6:
      ad_L= ATD0DR6L;
      ad_H= ATD0DR6H;
    break;
    case 7:
      ad_L= ATD0DR7L;
      ad_H= ATD0DR7H;
    break;   
  }
  ATD_Value = ((ad_H&0x0F)<<8)|(ad_L);
  return ATD_Value;
}
int ATD_Average_10(char ch)
{
   char i=0;
   int value[8]={0};
   long AD_value=0;
   for(i=0;i<8;i++)
   {
     value[i]=Read_ATD(ch);
     AD_value+=value[i];

   }
   AD_value/=8;
   return ((int)AD_value);
}


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-8 13:59 , Processed in 0.087939 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表